{
 "about": {
  "what": "Measured outcomes of `grasppanda compose` + `grasppanda probe` for the grid of grasppanda.combine.grid. No number here is an accuracy; see docs/advanced_guides/measured_combinations.md.",
  "verdicts": {
   "runs": "On real frames: the detector was built, every requested training iteration ran with finite losses and at least one real seed, every top-level part of the model that holds trainable parameters received a gradient in at least one iteration, the weights stayed finite, and prediction returned one valid grasp group for every probed frame, at least one of them with a grasp.",
   "runs-empty": "As `runs`, except that no probed frame has a grasp: prediction returned one valid grasp group for every probed frame and every group is empty. Every stage ran; a model trained for a few iterations often keeps no seed. A run that is also unstable is `runs-unstable`.",
   "runs-unstable": "On real frames: the detector was built, trained and predicted, but a loss or a weight became non-finite (a non-finite loss ends the training there), or an iteration had no real seed (no scene point passed the proposal, so only the proposal was trained), or no iteration supervised a seed, or a top-level part with trainable parameters received no gradient in any iteration, or fewer iterations ran or fewer frames were predicted than were asked for.",
   "fails": "An exception was raised after the config check had passed. The report names the phase (build, data, optimizer, loss, backward, step, hook, predict), the component it came from and the message.",
   "refused": "The config check refused the config (the same check as `grasppanda print-config --check --for train`). Nothing was built; the report carries the messages.",
   "wired": "No real frame was read. On a synthetic table-top scene with random labels the detector was built, back-propagated a loss through every stage and predicted. This shows that the stages connect; it says nothing about real data."
  },
  "fields": {
   "id": "the cell: <group>/<method>/..., unique",
   "group": "reference, encoder, stage, stage-set, family, family-slot, post, loss, recipe or cross (grasppanda.combine.grid)",
   "method": "the method whose shipped config the cell starts from",
   "sets": "the slot=choice pairs of the compose request; absent for a config as shipped",
   "slot, component, variant": "for encoder and stage cells: the replaced slot, the component type put there, and its preset (or the type again, for constructor defaults)",
   "verdict": "runs, runs-unstable, fails or refused (about.verdicts)",
   "config_hash": "first 16 hex digits of the hash of the composed config; null when the config check refused it",
   "compose": "the command that wrote the config; absent for a config as shipped",
   "probe": "the command that probed it, to be run after `compose` in the same directory. It repeats the experiment, not its numbers: see about.one_run",
   "schedule, rate": "how the probe set the learning rate (about.schedules): `constant`, the recipe's peak rate at every step, or `recipe`, the recipe's schedule run over the probe's epochs (always for a cell whose request sets the schedule); `rate` is the rate every step used under `constant`, in the first parameter group of the first optimizer. A record without `schedule` was probed before the probe had the option, with the recipe's schedule",
   "probed_as": "the cell whose probe this cell shares: both composed to the same config (the same hash), which was probed once. The numbers are in that cell",
   "adapter": "the encoder adapter compose inserted, when it did",
   "fitted": "options compose set to fit the method, beyond copying a preset",
   "refusal": "the messages of the contract rules and of the config check, whole",
   "refusal_kinds": "parallel to `refusal`, the kind of each message (about.refusal_kinds: structural, not-implemented, fixed-by-compose, not-a-combination, policy); absent in a record composed before compose reported kinds",
   "repeat": "for a cell whose probe was runs-unstable: the same probe run once more (same command, seed and schedule), with the fields of a probe from `verdict` to `run`. A class counts a run as unstable only when the repeat was unstable too",
   "failure": "phase, component, exception and message of a failure after the check passed",
   "unstable": "why a run is runs-unstable",
   "parameters, iterations, batch_size, frames, grasps_per_frame": "what the probe built, trained on and predicted",
   "losses": "every loss term at the first and the last iteration, four significant digits",
   "real_seeds, supervised_seeds": "minimum and mean over the iterations of the fraction of seed slots with a real seed and of seeds that took part in the grasp losses, and the number of iterations at zero",
   "judge": "2 for a record judged by judge 2, which holds the fields from `trend` to `lr_factor`; absent for a record of the first judge, which holds none of them (about.judges)",
   "trend": "per loss term and for the total `loss`, over the iterations in which the term was active (reported, finite and not exactly 0.0): [first, last_quarter, fall], its value at the first of them, the mean of the last ceil(active / 4) of them, and (first - last_quarter) / |first|, positive when the term fell (0.7: by 70 %), to four significant digits and three decimals; three nulls when the term was never active",
   "active": "per loss term active in fewer iterations than ran: the number it was active in",
   "flags": "per loss term with a flag: the flags that hold. `flat`: the term was active in at least two iterations, and the mean of its last quarter differs from its first active value by less than 5 % of that value; `rising`: the term was active in at least two iterations, and the mean of the last half of its active iterations exceeds the mean of the first half by more than 10 % of the first half's mean (with an odd count the middle iteration is in neither half); `zero_at_end`: the term is exactly 0.0, or not reported, at the last completed iteration; `constant`: the term was reported in at least two iterations with the very same value in every one of them, zeros included",
   "no_gradient": "the units of the model whose gradient never had an L2 norm above 1e-8 in an iteration, over its trainable parameters. A unit is a registered sub-module at depth 2 (`backbone.encoder`, `head.score_net`) or a parameter a top-level part holds itself (`head.bias`); when no unit of a top-level part was reached, the part is listed instead of its units (`backbone`: a dead part). Gradients are read before every optimizer step, unscaled under mixed precision. In a record of the first judge (only when its probe had the check): the top-level parts without a non-zero gradient",
   "unchanged": "the top-level parts whose trainable parameters did not change: the L2 norm of the difference between before the first optimizer step and after the last one is at most 1e-6 times the larger of 1 and the L2 norm before",
   "checked": "[units, parts] with trainable parameters, over which `no_gradient` and `unchanged` were checked",
   "score_quantiles": "per predicted frame, the smallest, the median and the largest score of its predicted grasps, to 4 significant digits; null for a frame without a grasp. Scores are those the detector returns (their meaning is its `score_kind`)",
   "learning_rate, lr_factor": "the learning rate of the first parameter group of the first optimizer at the first and at the last optimizer step, as those steps used it; the last of these divided by the first: the decay the schedule applied within the probe. A schedule that steps per epoch decays with the probe's epochs, which follow from the batch size and the number of frames (GSNet's 0.95 per epoch: 0.95^9 after 20 iterations of 2 per epoch); 1 under the schedule `constant`; null when the first is 0",
   "losses_per_iteration": "not in this file: the side file measured_combinations/losses_per_iteration.json holds, for every cell of judge 2 with a probe of its own, every loss term and the total `loss` at every completed iteration, to 4 significant digits; null where the detector did not report the term",
   "shared_machine": "seconds per iteration, peak GPU memory (MiB) and wall time of the probe (s): numbers that depend on the load of the machine",
   "postprocessing": "for post cells: the steps of the variant `post`, and per predicted frame the number of grasps predicted and left after every step. The grasps are those of a detector trained for the iterations of the probe",
   "notes": "what the probe changed or noticed, in its own words: for example a batch smaller than the recipe's because the split has fewer frames",
   "run": "the run that measured the cell (about.runs): date, commit and environment. A record is bound to that commit: it is replaced when its config changes, not when the code of a component does"
  },
  "probe": {
   "iterations": 20,
   "frames": 8
  },
  "runs": {
   "2026-10-15@0ddca31": {
    "date": "2026-10-15",
    "commit": "0ddca31",
    "torch": "2.7.1+cu118",
    "python": "3.12.7",
    "gpu": "NVIDIA RTX A6000",
    "probes_at_a_time": 2,
    "scale_statistic_sha256": null,
    "libraries": {
     "spconv": "2.3.8",
     "timm": "1.0.30",
     "transformers": "5.19.0",
     "torchvision": "0.22.1+cu118",
     "torch_geometric": "2.8.1",
     "torch_cluster": "1.6.3+pt27cu118",
     "fpsample": "1.0.2",
     "kornia": "0.8.3",
     "roma": "1.6.1",
     "trimesh": "5.1.1",
     "pytorch_optimizer": "4.0.0",
     "schedulefree": "1.4.1"
    }
   },
   "2026-10-15@2a3760a": {
    "date": "2026-10-15",
    "commit": "2a3760a",
    "torch": "2.7.1+cu118",
    "python": "3.12.7",
    "gpu": "NVIDIA RTX A6000",
    "probes_at_a_time": 2,
    "scale_statistic_sha256": "909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd",
    "libraries": {
     "spconv": "2.3.8",
     "timm": "1.0.30",
     "transformers": "5.19.0",
     "torchvision": "0.22.1+cu118",
     "torch_geometric": "2.8.1",
     "torch_cluster": "1.6.3+pt27cu118",
     "fpsample": "1.0.2",
     "kornia": "0.8.3",
     "roma": "1.6.1",
     "trimesh": "5.1.1",
     "pytorch_optimizer": "4.0.0",
     "schedulefree": "1.4.1"
    }
   },
   "2026-10-15@96facee": {
    "date": "2026-10-15",
    "commit": "96facee",
    "torch": "2.7.1+cu118",
    "python": "3.12.7",
    "gpu": "NVIDIA RTX A6000",
    "probes_at_a_time": 2,
    "scale_statistic_sha256": "909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd",
    "libraries": {
     "spconv": "2.3.8",
     "timm": "1.0.30",
     "transformers": "5.19.0",
     "torchvision": "0.22.1+cu118",
     "torch_geometric": "2.8.1",
     "torch_cluster": "1.6.3+pt27cu118",
     "fpsample": "1.0.2",
     "kornia": "0.8.3",
     "roma": "1.6.1",
     "trimesh": "5.1.1",
     "pytorch_optimizer": "4.0.0",
     "schedulefree": "1.4.1",
     "ocnn": "2.3.3",
     "mamba_ssm": "2.3.2.post1",
     "healpix": "2025.1"
    }
   },
   "2026-10-15@98e5310": {
    "date": "2026-10-15",
    "commit": "98e5310",
    "torch": "2.7.1+cu118",
    "python": "3.12.7",
    "gpu": "NVIDIA RTX A6000",
    "probes_at_a_time": 2,
    "scale_statistic_sha256": "909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd",
    "libraries": {
     "spconv": "2.3.8",
     "timm": "1.0.30",
     "transformers": "5.19.0",
     "torchvision": "0.22.1+cu118",
     "torch_geometric": "2.8.1",
     "torch_cluster": "1.6.3+pt27cu118",
     "fpsample": "1.0.2",
     "kornia": "0.8.3",
     "roma": "1.6.1",
     "trimesh": "5.1.1",
     "pytorch_optimizer": "4.0.0",
     "schedulefree": "1.4.1",
     "ocnn": "2.3.3",
     "mamba_ssm": "2.3.2.post1",
     "healpix": "2025.1"
    }
   },
   "2026-10-16@96facee": {
    "date": "2026-10-16",
    "commit": "96facee",
    "torch": "2.7.1+cu118",
    "python": "3.12.7",
    "gpu": "NVIDIA RTX A6000",
    "probes_at_a_time": 2,
    "scale_statistic_sha256": "909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd",
    "libraries": {
     "spconv": "2.3.8",
     "timm": "1.0.30",
     "transformers": "5.19.0",
     "torchvision": "0.22.1+cu118",
     "torch_geometric": "2.8.1",
     "torch_cluster": "1.6.3+pt27cu118",
     "fpsample": "1.0.2",
     "kornia": "0.8.3",
     "roma": "1.6.1",
     "trimesh": "5.1.1",
     "pytorch_optimizer": "4.0.0",
     "schedulefree": "1.4.1",
     "ocnn": "2.3.3",
     "mamba_ssm": "2.3.2.post1",
     "healpix": "2025.1"
    }
   }
  },
  "one_run": "A cell is one run, and training on a GPU is not repeatable here. The config hash and the parameter count repeat exactly and the losses of the first iteration to the digits given; later losses, `real_seeds`, `supervised_seeds`, `grasps_per_frame` and, for a combination near the edge, the split between `runs` and `runs-unstable` are those of the recorded run and differ in the next one.",
  "scale_statistic": "Configs that read the width histogram of Scale-Balanced-Grasp were probed with the reference's own file (`scale_statistic.source: legacy_import`, the SHA-256 in the probe command): the native histogram is a statistic of a whole training split, and a probe reads eight frames.",
  "shared_machine": "`shared_machine` holds seconds per iteration, peak GPU memory and wall time. They were measured while other jobs used the same GPU and CPUs, with as many probes at a time as the run says: an order of magnitude, not a benchmark.",
  "judges": "A record with `judge: 2` was judged by judge 2 (grasppanda.combine.probe, from 2026-10-15): `runs-empty` is a verdict, a dead top-level part makes a run `runs-unstable`, and the record holds the trend and flags of every loss term, the units without a gradient, the unchanged parts, the score quantiles and the learning-rate decay; the loss of every iteration is in the side file. A record without `judge` was judged by the first judge: it had no `runs-empty` (a run that predicted no grasp on any frame is `runs`), it holds none of those fields, and it was checked for dead top-level parts only if its probe had that check (then `no_gradient` is in the record).",
  "schedules": {
   "recipe": "the config's own scheduler, run over the probe. The probe sets `train.epochs` to ceil(iterations / iterations per epoch), so a schedule that steps per epoch is compressed into those few epochs (GSNet's 0.95 per epoch ends at 0.95^9 = 0.63 after 20 iterations of 2 per epoch, EconomicGrasp's cosine at 2.4 % of its start) and one that steps per iteration runs its first steps only (FineGrasp's warm-up of 800 iterations keeps a probe of 20 at no more than 2.5 % of its rate)",
   "constant": "no scheduler: every parameter group of every optimizer trains at the recipe's peak rate for the whole probe. The peak is the rate the optimizer gives the group (the configured `lr`, with the multipliers of ParamGroups), except for a schedule that sets a peak of its own: `max_lr` of OneCycleLR and CyclicLR, the larger factor of LinearLR. Every other schedule of the toolbox starts at that rate or reaches it at the end of its warm-up. When the probe's batches hold fewer frames than the recipe's, the peak is scaled by their ratio (the linear scaling rule: FineGrasp's 0.008 for 32 frames trains at 0.002 on batches of 8). A batch-norm momentum that the recipe decays per epoch (BNMomentumHook: GraspNet-baseline, Scale-Balanced-Grasp, HGGD) is held at its first epoch's value likewise (`hooks.<i>.decay=1`): decayed over epochs of a few iterations it can reach its floor of 0.001 within the probe (Scale-Balanced-Grasp's at iteration 73), and the running statistics, which prediction normalises with, then stop following the weights; training itself does not read them. The optimizer (its weight decay and its momentum as configured), clipping, accumulation and every other hook are the recipe's"
  },
  "not_probed": [],
  "stage_sets_not_probed": 9009,
  "presets_without_a_cell": {
   "post/target-mask": "reads observation.masks, which no shipped dataset fills",
   "loss/distribution-focal": "fits `bins` terms only, which no shipped method has; probed as the width loss of the head preset `decoupled-grid-bins` (stage cells)"
  }
 },
 "cells": [
  {"id": "reference/GSNet", "group": "reference", "method": "GSNet", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "probe": "grasppanda probe gsnet/gsnet_sunet14_g1b-realsense_10e --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [206, 229], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6265], "loss/graspness": [5.176, 0.4772], "loss/view": [6.291, 0.2656], "loss/score": [1.515, 0.09135], "loss/width": [3.654, 0.4195], "loss": [17.43, 1.88]}, "trend": {"loss/objectness": [0.7893, 0.6141, 0.222], "loss/graspness": [5.176, 0.3843, 0.926], "loss/view": [6.291, 0.3393, 0.946], "loss/score": [1.515, 0.08708, 0.943], "loss/width": [3.654, 0.2826, 0.923], "loss": [17.43, 1.707, 0.902]}, "real_seeds": {"min": 0.283, "mean": 0.902, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.123, 0.1714, 0.2561], [0.1054, 0.1719, 0.3801]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.157, "peak_gpu_mib": 1841.5, "seconds": 32.0}, "run": "2026-10-15@2a3760a"},
  {"id": "reference/EconomicGrasp", "group": "reference", "method": "EconomicGrasp", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "probe": "grasppanda probe economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6303], "loss/graspness": [5.216, 0.2812], "loss/view": [6.545, 0.6858], "loss/angle": [3.303, 0.8217], "loss/depth": [2.236, 0.464], "loss/score": [2.117, 0.7039], "loss/width": [8.756, 0.7021], "loss": [28.96, 4.289]}, "trend": {"loss/objectness": [0.7845, 0.6207, 0.209], "loss/graspness": [5.216, 0.3356, 0.936], "loss/view": [6.545, 0.7113, 0.891], "loss/angle": [3.303, 0.777, 0.765], "loss/depth": [2.236, 0.4686, 0.79], "loss/score": [2.117, 0.6656, 0.686], "loss/width": [8.756, 0.7034, 0.92], "loss": [28.96, 4.282, 0.852]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.402, -3.154, -2.765], [-3.382, -3.159, -2.113]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.164, "peak_gpu_mib": 2066.2, "seconds": 31.9}, "run": "2026-10-15@2a3760a"},
  {"id": "reference/FineGrasp", "group": "reference", "method": "FineGrasp", "verdict": "runs", "judge": 2, "config_hash": "254815dc944eef7c", "probe": "grasppanda probe finegrasp/finegrasp_sunet14_g1b-realsense_10e --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6178], "loss/graspness": [2.473, 0.2644], "loss/view": [5.497, 0.6191], "loss/angle": [1.429, 1.027], "loss/depth": [2.039, 0.525], "loss/score": [2.563, 0.8811], "loss/width": [4.953, 0.7713], "loss": [19.76, 4.706]}, "trend": {"loss/objectness": [0.8058, 0.6263, 0.223], "loss/graspness": [2.473, 0.2744, 0.889], "loss/view": [5.497, 0.6064, 0.89], "loss/angle": [1.429, 1.023, 0.284], "loss/depth": [2.039, 0.5565, 0.727], "loss/score": [2.563, 0.862, 0.664], "loss/width": [4.953, 0.7962, 0.839], "loss": [19.76, 4.745, 0.76]}, "real_seeds": {"min": 0.656, "mean": 0.96, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.687, -1.687, -1.687], [-1.687, -1.687, -1.687]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.586, "peak_gpu_mib": 11643.5, "seconds": 67.6}, "run": "2026-10-15@2a3760a"},
  {"id": "reference/GraspNet-baseline", "group": "reference", "method": "GraspNet-baseline", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "probe": "grasppanda probe graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [690, 551], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5466], "loss/view": [0.2001, 0.07802], "loss/score": [0.05519, 0.03517], "loss/angle": [0.53, 0.4679], "loss/width": [0.6388, 0.1899], "loss/tolerance": [1.188, 0.4582], "loss": [3.374, 1.776]}, "trend": {"loss/objectness": [0.7623, 0.571, 0.251], "loss/view": [0.2001, 0.08043, 0.598], "loss/score": [0.05519, 0.03246, 0.412], "loss/angle": [0.53, 0.4637, 0.125], "loss/width": [0.6388, 0.1734, 0.729], "loss/tolerance": [1.188, 0.5317, 0.552], "loss": [3.374, 1.853, 0.451]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-62.15, -0.03346, 34.41], [-27.37, -0.2621, 39.61]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.244, "peak_gpu_mib": 3972.1, "seconds": 12.2}, "run": "2026-10-15@96facee"},
  {"id": "reference/Scale-Balanced-Grasp", "group": "reference", "method": "Scale-Balanced-Grasp", "verdict": "runs-empty", "judge": 2, "config_hash": "61901898cd133251", "probe": "grasppanda probe scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.433, "peak_gpu_mib": 9615.8, "seconds": 15.9}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/ASSANet", "group": "encoder", "method": "GSNet", "sets": ["backbone=assanet"], "slot": "backbone", "component": "ASSANet", "variant": "assanet", "verdict": "runs", "judge": 2, "config_hash": "b3be4f967478db39", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=assanet -o encoder__GSNet__ASSANet.yaml", "probe": "grasppanda probe encoder__GSNet__ASSANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2877133, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7361, 0.3386], "loss/graspness": [1.448, 0.1751], "loss/view": [2.75, 0.704], "loss/score": [0.9816, 0.08222], "loss/width": [2.306, 0.1901], "loss": [8.221, 1.49]}, "trend": {"loss/objectness": [0.7361, 0.3471, 0.528], "loss/graspness": [1.448, 0.2106, 0.855], "loss/view": [2.75, 0.7363, 0.732], "loss/score": [0.9816, 0.09286, 0.905], "loss/width": [2.306, 0.2098, 0.909], "loss": [8.221, 1.597, 0.806]}, "real_seeds": {"min": 0.59, "mean": 0.979, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[0.1054, 0.1285, 0.1655], [0.1063, 0.1291, 0.1652]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.13, "peak_gpu_mib": 1653.5, "seconds": 12.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/ASSANet", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=assanet"], "slot": "backbone", "component": "ASSANet", "variant": "assanet", "verdict": "runs-empty", "judge": 2, "config_hash": "34deee342e73a4f6", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=assanet -o encoder__EconomicGrasp__ASSANet.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__ASSANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3273596, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.741, 0.4559], "loss/graspness": [1.387, 0.2057], "loss/view": [3.893, 0.8669], "loss/angle": [2.585, 0.8577], "loss/depth": [1.785, 0.4826], "loss/score": [1.781, 0.7257], "loss/width": [1.246, 0.7657], "loss": [13.42, 4.36]}, "trend": {"loss/objectness": [0.741, 0.4915, 0.337], "loss/graspness": [1.387, 0.2377, 0.829], "loss/view": [3.893, 0.8924, 0.771], "loss/angle": [2.585, 0.9023, 0.651], "loss/depth": [1.785, 0.5363, 0.7], "loss/score": [1.781, 0.7324, 0.589], "loss/width": [1.246, 0.7313, 0.413], "loss": [13.42, 4.524, 0.663]}, "real_seeds": {"min": 0.87, "mean": 0.993, "zero_iterations": 0}, "supervised_seeds": {"min": 0.069, "mean": 0.19, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 1975.5, "seconds": 12.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/ASSANet", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=assanet"], "slot": "backbone", "component": "ASSANet", "variant": "assanet", "verdict": "runs", "judge": 2, "config_hash": "a68e8aceaeec1a8a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=assanet -o encoder__FineGrasp__ASSANet.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__ASSANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 6460239, "iterations": 20, "batch_size": 8, "grasps_per_frame": [7, 3], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7049, 0.209], "loss/graspness": [1.189, 0.1554], "loss/view": [2.418, 0.7729], "loss/angle": [3.418, 1.194], "loss/depth": [1.298, 0.6148], "loss/score": [1.562, 0.9966], "loss/width": [1.053, 0.7976], "loss": [11.64, 4.741]}, "trend": {"loss/objectness": [0.7049, 0.2541, 0.639], "loss/graspness": [1.189, 0.1732, 0.854], "loss/view": [2.418, 0.8331, 0.655], "loss/angle": [3.418, 1.197, 0.65], "loss/depth": [1.298, 0.6316, 0.513], "loss/score": [1.562, 1.015, 0.35], "loss/width": [1.053, 0.8211, 0.22], "loss": [11.64, 4.925, 0.577]}, "flags": {"loss/score": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.135, "mean": 0.262, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-2.566, -2.566, -2.566], [-2.566, -2.566, -2.566]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.531, "peak_gpu_mib": 11260.0, "seconds": 44.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/ASSANet", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=assanet"], "slot": "backbone", "component": "ASSANet", "variant": "assanet", "verdict": "runs", "judge": 2, "config_hash": "48cbdee886b2f07c", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=assanet -o encoder__GraspNet-baseline__ASSANet.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__ASSANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2894250, "iterations": 20, "batch_size": 2, "grasps_per_frame": [493, 495], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7705, 0.3383], "loss/view": [0.1431, 0.03713], "loss/score": [0.07829, 0.02963], "loss/angle": [0.5186, 0.4157], "loss/width": [0.4568, 0.1394], "loss/tolerance": [0.8403, 0.3088], "loss": [2.808, 1.269]}, "trend": {"loss/objectness": [0.7705, 0.378, 0.509], "loss/view": [0.1431, 0.03832, 0.732], "loss/score": [0.07829, 0.02782, 0.645], "loss/angle": [0.5186, 0.4161, 0.198], "loss/width": [0.4568, 0.1441, 0.685], "loss/tolerance": [0.8403, 0.3086, 0.633], "loss": [2.808, 1.313, 0.532]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-13.02, 0.07259, 17.37], [-13.02, 0.08841, 10.21]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.191, "peak_gpu_mib": 3387.6, "seconds": 10.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/ASSANet", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=assanet"], "slot": "backbone", "component": "ASSANet", "variant": "assanet", "verdict": "runs", "judge": 2, "config_hash": "0657ad7c52d6afa8", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=assanet -o encoder__Scale-Balanced-Grasp__ASSANet.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__ASSANet.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 3348586, "iterations": 20, "batch_size": 2, "grasps_per_frame": [69, 113], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.918, 0.2407], "loss/view": [0.2233, 0.09059], "loss/score": [0.03955, 0.02565], "loss/angle": [0.5165, 0.4388], "loss/width": [0.4501, 0.03721], "loss/tolerance": [0.9625, 0.08297], "loss": [3.11, 0.9158]}, "trend": {"loss/objectness": [0.918, 0.2489, 0.729], "loss/view": [0.2233, 0.1053, 0.528], "loss/score": [0.03955, 0.02168, 0.452], "loss/angle": [0.5165, 0.4199, 0.187], "loss/width": [0.4501, 0.04935, 0.89], "loss/tolerance": [0.9625, 0.08994, 0.907], "loss": [3.11, 0.9351, 0.699]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-4.214, 0.116, 3.385], [-2.293, 0.292, 2.808]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.282, "peak_gpu_mib": 8838.7, "seconds": 13.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/DGCNN@dgcnn-static", "group": "encoder", "method": "GSNet", "sets": ["backbone=dgcnn-static"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn-static", "verdict": "runs", "judge": 2, "config_hash": "267350a05ac4fc69", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=dgcnn-static -o encoder__GSNet__DGCNN@dgcnn-static.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__DGCNN@dgcnn-static.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1095439, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7889, 0.5098], "loss/graspness": [0.8857, 0.3297], "loss/view": [2.085, 0.3935], "loss/score": [0.4103, 0.04124], "loss/width": [2.282, 0.1972], "loss": [6.452, 1.471]}, "trend": {"loss/objectness": [0.7889, 0.5454, 0.309], "loss/graspness": [0.8857, 0.3544, 0.6], "loss/view": [2.085, 0.3958, 0.81], "loss/score": [0.4103, 0.05574, 0.864], "loss/width": [2.282, 0.1985, 0.913], "loss": [6.452, 1.55, 0.76]}, "real_seeds": {"min": 0.978, "mean": 0.999, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.08857, 0.1071, 0.1182], [0.08615, 0.1072, 0.1191]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.488, "peak_gpu_mib": 11004.5, "seconds": 19.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/DGCNN@dgcnn", "group": "encoder", "method": "GSNet", "sets": ["backbone=dgcnn"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn", "verdict": "runs-empty", "judge": 2, "config_hash": "8c3ff74cea069dde", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=dgcnn -o encoder__GSNet__DGCNN@dgcnn.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__DGCNN@dgcnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1818383, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7557, 0.6715], "loss/graspness": [0.6025, 0.6359], "loss/view": [1.76, 0.5041], "loss/score": [0.3986, 0.08955], "loss/width": [2.074, 0.3618], "loss": [5.59, 2.263]}, "trend": {"loss/objectness": [0.7557, 0.6763, 0.105], "loss/graspness": [0.6025, 0.4935, 0.181], "loss/view": [1.76, 0.6116, 0.653], "loss/score": [0.3986, 0.08351, 0.79], "loss/width": [2.074, 0.3007, 0.855], "loss": [5.59, 2.166, 0.613]}, "real_seeds": {"min": 0.25, "mean": 0.462, "zero_iterations": 0}, "supervised_seeds": {"min": 0.25, "mean": 0.6, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.679, "peak_gpu_mib": 8625.4, "seconds": 22.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/DGCNN@dgcnn-static", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=dgcnn-static"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn-static", "verdict": "runs-empty", "judge": 2, "config_hash": "c5b809597ab76c86", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=dgcnn-static -o encoder__EconomicGrasp__DGCNN@dgcnn-static.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__DGCNN@dgcnn-static.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1491902, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7504, 0.4198], "loss/graspness": [0.8897, 0.3145], "loss/view": [2.694, 0.8261], "loss/angle": [2.454, 0.8954], "loss/depth": [1.969, 0.518], "loss/score": [2.036, 0.7786], "loss/width": [0.9359, 0.8368], "loss": [11.73, 4.589]}, "trend": {"loss/objectness": [0.7504, 0.4338, 0.422], "loss/graspness": [0.8897, 0.3157, 0.645], "loss/view": [2.694, 0.8661, 0.679], "loss/angle": [2.454, 0.8964, 0.635], "loss/depth": [1.969, 0.5217, 0.735], "loss/score": [2.036, 0.7874, 0.613], "loss/width": [0.9359, 0.8176, 0.126], "loss": [11.73, 4.639, 0.605]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.031, "mean": 0.191, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.794, "peak_gpu_mib": 14432.6, "seconds": 25.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/DGCNN@dgcnn", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=dgcnn"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn", "verdict": "runs-empty", "judge": 2, "config_hash": "c1a9fe70f7b6f426", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=dgcnn -o encoder__EconomicGrasp__DGCNN@dgcnn.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__DGCNN@dgcnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2214846, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.8761, 0.6898], "loss/graspness": [0.4369, 0.2925], "loss/view": [1.623, 0.7695], "loss/angle": [2.865, 0.686], "loss/depth": [2.168, 0.3199], "loss/score": [1.807, 0.5513], "loss/width": [7.498, 1.404], "loss": [17.27, 4.713]}, "trend": {"loss/objectness": [0.8761, 0.6932, 0.209], "loss/graspness": [0.4369, 0.3176, 0.273], "loss/view": [1.623, 1.228, 0.243], "loss/angle": [2.865, 0.7756, 0.729], "loss/depth": [2.168, 0.4454, 0.795], "loss/score": [1.807, 0.6331, 0.65], "loss/width": [7.498, 0.9765, 0.87], "loss": [17.27, 5.07, 0.706]}, "real_seeds": {"min": 0.25, "mean": 0.468, "zero_iterations": 0}, "supervised_seeds": {"min": 0.022, "mean": 0.053, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.041, "peak_gpu_mib": 11249.1, "seconds": 29.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/DGCNN@dgcnn-static", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=dgcnn-static"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn-static", "verdict": "runs-empty", "judge": 2, "config_hash": "cf2f6d130c4513d7", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=dgcnn-static -o encoder__FineGrasp__DGCNN@dgcnn-static.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__DGCNN@dgcnn-static.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4875489, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7054, 0.4264], "loss/graspness": [1.211, 0.2979], "loss/view": [1.851, 0.6618], "loss/angle": [2.655, 0.9753], "loss/depth": [1.557, 0.5393], "loss/score": [1.619, 0.854], "loss/width": [1.569, 0.8295], "loss": [11.17, 4.584]}, "trend": {"loss/objectness": [0.7054, 0.4498, 0.362], "loss/graspness": [1.211, 0.3492, 0.712], "loss/view": [1.851, 0.6417, 0.653], "loss/angle": [2.655, 0.9976, 0.624], "loss/depth": [1.557, 0.5552, 0.643], "loss/score": [1.619, 0.8645, 0.466], "loss/width": [1.569, 0.7832, 0.501], "loss": [11.17, 4.641, 0.584]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.088, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.484, "peak_gpu_mib": 36666.1, "seconds": 63.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/DGCNN@dgcnn", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=dgcnn"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn", "verdict": "runs-empty", "judge": 2, "config_hash": "43926fea7d0e62b1", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=dgcnn -o encoder__FineGrasp__DGCNN@dgcnn.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__DGCNN@dgcnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 5598433, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7363, 0.5458], "loss/graspness": [1.079, 0.3169], "loss/view": [1.919, 0.652], "loss/angle": [2.558, 0.947], "loss/depth": [1.634, 0.5047], "loss/score": [1.746, 0.7989], "loss/width": [6.97, 0.7497], "loss": [16.64, 4.515]}, "trend": {"loss/objectness": [0.7363, 0.5719, 0.223], "loss/graspness": [1.079, 0.3396, 0.685], "loss/view": [1.919, 0.6564, 0.658], "loss/angle": [2.558, 0.9371, 0.634], "loss/depth": [1.634, 0.4918, 0.699], "loss/score": [1.746, 0.7904, 0.547], "loss/width": [6.97, 0.7451, 0.893], "loss": [16.64, 4.532, 0.728]}, "real_seeds": {"min": 0.501, "mean": 0.876, "zero_iterations": 0}, "supervised_seeds": {"min": 0.065, "mean": 0.122, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 2.187, "peak_gpu_mib": 30296.3, "seconds": 82.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/DGCNN@dgcnn-static", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=dgcnn-static"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn-static", "verdict": "runs", "judge": 2, "config_hash": "a41a919a009b85af", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=dgcnn-static -o encoder__GraspNet-baseline__DGCNN@dgcnn-static.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__DGCNN@dgcnn-static.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 641004, "iterations": 20, "batch_size": 2, "grasps_per_frame": [377, 492], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7303, 0.5532], "loss/view": [0.1782, 0.05345], "loss/score": [0.05407, 0.02701], "loss/angle": [0.5274, 0.4655], "loss/width": [0.4926, 0.1236], "loss/tolerance": [1.36, 0.3495], "loss": [3.343, 1.572]}, "trend": {"loss/objectness": [0.7303, 0.544, 0.255], "loss/view": [0.1782, 0.04802, 0.731], "loss/score": [0.05407, 0.02495, 0.539], "loss/angle": [0.5274, 0.4553, 0.137], "loss/width": [0.4926, 0.1286, 0.739], "loss/tolerance": [1.36, 0.3909, 0.713], "loss": [3.343, 1.592, 0.524]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-9.945, -0.05393, 13.38], [-9.879, 0.2677, 15.97]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.296, "peak_gpu_mib": 9400.4, "seconds": 12.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/DGCNN@dgcnn", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=dgcnn"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn", "verdict": "runs", "judge": 2, "config_hash": "52e15e9a0ef2d0de", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=dgcnn -o encoder__GraspNet-baseline__DGCNN@dgcnn.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__DGCNN@dgcnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1363948, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1023, 936], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6967, 0.5412], "loss/view": [0.1861, 0.07041], "loss/score": [0.06479, 0.04636], "loss/angle": [0.5238, 0.4223], "loss/width": [0.6042, 0.1627], "loss/tolerance": [0.7004, 0.3827], "loss": [2.776, 1.626]}, "trend": {"loss/objectness": [0.6967, 0.5585, 0.198], "loss/view": [0.1861, 0.06844, 0.632], "loss/score": [0.06479, 0.03129, 0.517], "loss/angle": [0.5238, 0.4473, 0.146], "loss/width": [0.6042, 0.1772, 0.707], "loss/tolerance": [0.7004, 0.4047, 0.422], "loss": [2.776, 1.687, 0.392]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-15.37, 0.6907, 27.47], [-8.193, 3.147, 27.63]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.611, "peak_gpu_mib": 7824.9, "seconds": 22.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/DGCNN@dgcnn-static", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=dgcnn-static"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn-static", "verdict": "runs", "judge": 2, "config_hash": "a98ffdf806c1b03a", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=dgcnn-static -o encoder__Scale-Balanced-Grasp__DGCNN@dgcnn-static.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__DGCNN@dgcnn-static.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1095340, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 2], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.8897, 0.336], "loss/view": [0.2785, 0.1251], "loss/score": [0.02846, 0.02155], "loss/angle": [0.5078, 0.4515], "loss/width": [0.6204, 0.05937], "loss/tolerance": [1.046, 0.1881], "loss": [3.371, 1.182]}, "trend": {"loss/objectness": [0.8897, 0.305, 0.657], "loss/view": [0.2785, 0.1205, 0.567], "loss/score": [0.02846, 0.02132, 0.251], "loss/angle": [0.5078, 0.4437, 0.126], "loss/width": [0.6204, 0.07777, 0.875], "loss/tolerance": [1.046, 0.2397, 0.771], "loss": [3.371, 1.208, 0.642]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, [-0.3913, -0.08127, 0.2288]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.453, "peak_gpu_mib": 14850.4, "seconds": 16.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/DGCNN@dgcnn", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=dgcnn"], "slot": "backbone", "component": "DGCNN", "variant": "dgcnn", "verdict": "runs-empty", "judge": 2, "config_hash": "c5531253612481d8", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=dgcnn -o encoder__Scale-Balanced-Grasp__DGCNN@dgcnn.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__DGCNN@dgcnn.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1818284, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.6358, 0.3472], "loss/view": [0.2841, 0.1322], "loss/score": [0.03585, 0.02269], "loss/angle": [0.4943, 0.435], "loss/width": [0.5399, 0.1736], "loss/tolerance": [1.055, 0.3234], "loss": [3.045, 1.434]}, "trend": {"loss/objectness": [0.6358, 0.3235, 0.491], "loss/view": [0.2841, 0.1364, 0.52], "loss/score": [0.03585, 0.02001, 0.442], "loss/angle": [0.4943, 0.4332, 0.124], "loss/width": [0.5399, 0.1707, 0.684], "loss/tolerance": [1.055, 0.3496, 0.669], "loss": [3.045, 1.433, 0.529]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.682, "peak_gpu_mib": 13275.7, "seconds": 20.7}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/DeLA", "group": "encoder", "method": "GSNet", "sets": ["backbone=dela"], "slot": "backbone", "component": "DeLA", "variant": "dela", "verdict": "runs-empty", "judge": 2, "config_hash": "0ec6c6ae92d13d1c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=dela -o encoder__GSNet__DeLA.yaml", "probe": "grasppanda probe encoder__GSNet__DeLA.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 7378599, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "notes": ["probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7595, 0.3944], "loss/graspness": [0.7728, 0.1653], "loss/view": [1.619, 0.5936], "loss/score": [1.377, 0.05348], "loss/width": [2.909, 0.1637], "loss": [7.437, 1.37]}, "trend": {"loss/objectness": [0.7595, 0.4219, 0.445], "loss/graspness": [0.7728, 0.1946, 0.748], "loss/view": [1.619, 0.6211, 0.616], "loss/score": [1.377, 0.06704, 0.951], "loss/width": [2.909, 0.1831, 0.937], "loss": [7.437, 1.488, 0.8]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.25, "peak_gpu_mib": 7860.3, "seconds": 14.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/DeLA", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=dela"], "slot": "backbone", "component": "DeLA", "variant": "dela", "verdict": "runs-empty", "judge": 2, "config_hash": "a5c7a7d34e73b42d", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=dela -o encoder__EconomicGrasp__DeLA.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__DeLA.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 7775062, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "notes": ["probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7601, 0.4007], "loss/graspness": [0.7852, 0.1796], "loss/view": [2.124, 0.8215], "loss/angle": [2.724, 0.9505], "loss/depth": [1.779, 0.5116], "loss/score": [1.666, 0.8077], "loss/width": [0.9018, 0.7557], "loss": [10.74, 4.427]}, "trend": {"loss/objectness": [0.7601, 0.4278, 0.437], "loss/graspness": [0.7852, 0.1947, 0.752], "loss/view": [2.124, 0.8611, 0.595], "loss/angle": [2.724, 0.9209, 0.662], "loss/depth": [1.779, 0.5338, 0.7], "loss/score": [1.666, 0.7988, 0.52], "loss/width": [0.9018, 0.8216, 0.089], "loss": [10.74, 4.559, 0.576]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.1, "mean": 0.212, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.329, "peak_gpu_mib": 9427.0, "seconds": 16.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/DeLA", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=dela"], "slot": "backbone", "component": "DeLA", "variant": "dela", "verdict": "runs-empty", "judge": 2, "config_hash": "d9fe750543969ff0", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=dela -o encoder__FineGrasp__DeLA.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__DeLA.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 10961705, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.6926, 0.2569], "loss/graspness": [1.301, 0.1449], "loss/view": [2.079, 0.7815], "loss/angle": [2.436, 1.282], "loss/depth": [2.041, 0.6662], "loss/score": [1.254, 1.065], "loss/width": [2.214, 0.7597], "loss": [12.02, 4.955]}, "trend": {"loss/objectness": [0.6926, 0.2755, 0.602], "loss/graspness": [1.301, 0.1574, 0.879], "loss/view": [2.079, 0.78, 0.625], "loss/angle": [2.436, 1.194, 0.51], "loss/depth": [2.041, 0.6478, 0.683], "loss/score": [1.254, 1.015, 0.19], "loss/width": [2.214, 0.7613, 0.656], "loss": [12.02, 4.832, 0.598]}, "flags": {"loss/score": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.073, "mean": 0.248, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.842, "peak_gpu_mib": 25852.8, "seconds": 49.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/DeLA", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=dela"], "slot": "backbone", "component": "DeLA", "variant": "dela", "verdict": "runs", "judge": 2, "config_hash": "5a98fc98177abb01", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=dela -o encoder__GraspNet-baseline__DeLA.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__DeLA.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 7395716, "iterations": 20, "batch_size": 2, "grasps_per_frame": [466, 448], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7332, 0.3524], "loss/view": [0.1879, 0.04771], "loss/score": [0.07112, 0.04025], "loss/angle": [0.5249, 0.4406], "loss/width": [0.5446, 0.1684], "loss/tolerance": [1.084, 0.3332], "loss": [3.146, 1.383]}, "trend": {"loss/objectness": [0.7332, 0.4227, 0.423], "loss/view": [0.1879, 0.04081, 0.783], "loss/score": [0.07112, 0.03487, 0.51], "loss/angle": [0.5249, 0.4216, 0.197], "loss/width": [0.5446, 0.1987, 0.635], "loss/tolerance": [1.084, 0.4359, 0.598], "loss": [3.146, 1.554, 0.506]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-14.66, -0.7074, 20.03], [-18.25, -0.4253, 21.0]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.407, "peak_gpu_mib": 7224.7, "seconds": 16.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/DeLA", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=dela"], "slot": "backbone", "component": "DeLA", "variant": "dela", "verdict": "runs", "judge": 2, "config_hash": "f3bd538eb56c803e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=dela -o encoder__Scale-Balanced-Grasp__DeLA.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__DeLA.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 7850052, "iterations": 20, "batch_size": 2, "grasps_per_frame": [151, 111], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.8059, 0.2546], "loss/view": [0.3196, 0.1461], "loss/score": [0.04097, 0.02447], "loss/angle": [0.4909, 0.439], "loss/width": [0.4413, 0.04608], "loss/tolerance": [0.8136, 0.1032], "loss": [2.912, 1.013]}, "trend": {"loss/objectness": [0.8059, 0.2561, 0.682], "loss/view": [0.3196, 0.1167, 0.635], "loss/score": [0.04097, 0.02075, 0.493], "loss/angle": [0.4909, 0.4372, 0.11], "loss/width": [0.4413, 0.06029, 0.863], "loss/tolerance": [0.8136, 0.1346, 0.835], "loss": [2.912, 1.026, 0.648]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-2.482, 0.4646, 6.039], [-2.316, 0.4435, 4.987]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.363, "peak_gpu_mib": 12674.7, "seconds": 14.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/LitePT@litept-structured3d", "group": "encoder", "method": "GSNet", "sets": ["backbone=litept-structured3d"], "slot": "backbone", "component": "LitePT", "variant": "litept-structured3d", "verdict": "runs", "judge": 2, "config_hash": "384517b3dff4f4b7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=litept-structured3d -o encoder__GSNet__LitePT@litept-structured3d.yaml", "probe": "grasppanda probe encoder__GSNet__LitePT@litept-structured3d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12903031, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7354, 0.6528], "loss/graspness": [1.022, 0.2272], "loss/view": [3.462, 0.6528], "loss/score": [0.7862, 0.07455], "loss/width": [2.547, 0.2092], "loss": [8.552, 1.817]}, "trend": {"loss/objectness": [0.7354, 0.6612, 0.101], "loss/graspness": [1.022, 0.2378, 0.767], "loss/view": [3.462, 0.6795, 0.804], "loss/score": [0.7862, 0.08316, 0.894], "loss/width": [2.547, 0.2435, 0.904], "loss": [8.552, 1.905, 0.777]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [[0.2373, 0.2967, 0.3772], [0.1725, 0.2571, 0.3448]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.176, "peak_gpu_mib": 1674.6, "seconds": 21.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/LitePT@litept", "group": "encoder", "method": "GSNet", "sets": ["backbone=litept"], "slot": "backbone", "component": "LitePT", "variant": "litept", "verdict": "runs", "judge": 2, "config_hash": "fe87ec72aaf4a29a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=litept -o encoder__GSNet__LitePT@litept.yaml", "probe": "grasppanda probe encoder__GSNet__LitePT@litept.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12903031, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7329, 0.5653], "loss/graspness": [1.188, 0.2139], "loss/view": [3.842, 0.6918], "loss/score": [1.113, 0.06679], "loss/width": [3.095, 0.2139], "loss": [9.97, 1.752]}, "trend": {"loss/objectness": [0.7329, 0.6011, 0.18], "loss/graspness": [1.188, 0.2544, 0.786], "loss/view": [3.842, 0.6844, 0.822], "loss/score": [1.113, 0.07953, 0.929], "loss/width": [3.095, 0.2045, 0.934], "loss": [9.97, 1.824, 0.817]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [[0.1085, 0.1738, 0.2653], [0.1056, 0.17, 0.2627]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.225, "peak_gpu_mib": 1676.7, "seconds": 19.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/LitePT@litept-structured3d", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=litept-structured3d"], "slot": "backbone", "component": "LitePT", "variant": "litept-structured3d", "verdict": "runs", "judge": 2, "config_hash": "df598b9c4971d0d9", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=litept-structured3d -o encoder__EconomicGrasp__LitePT@litept-structured3d.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__LitePT@litept-structured3d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 13299494, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 66], "frames": 8, "losses": {"loss/objectness": [0.722, 0.6571], "loss/graspness": [0.7556, 0.2313], "loss/view": [3.912, 1.007], "loss/angle": [2.126, 0.7279], "loss/depth": [0.8977, 0.3922], "loss/score": [1.822, 0.6164], "loss/width": [0.9751, 0.7076], "loss": [11.21, 4.339]}, "trend": {"loss/objectness": [0.722, 0.6676, 0.075], "loss/graspness": [0.7556, 0.267, 0.647], "loss/view": [3.912, 1.055, 0.73], "loss/angle": [2.126, 0.7645, 0.64], "loss/depth": [0.8977, 0.4254, 0.526], "loss/score": [1.822, 0.6556, 0.64], "loss/width": [0.9751, 0.7758, 0.204], "loss": [11.21, 4.611, 0.589]}, "real_seeds": {"min": 0.934, "mean": 0.997, "zero_iterations": 0}, "supervised_seeds": {"min": 0.115, "mean": 0.149, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-1.899, -1.722, -1.604], [-1.745, -1.526, -1.454]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.15, "peak_gpu_mib": 1861.4, "seconds": 19.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/LitePT@litept", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=litept"], "slot": "backbone", "component": "LitePT", "variant": "litept", "verdict": "runs", "judge": 2, "config_hash": "01eb333d37006870", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=litept -o encoder__EconomicGrasp__LitePT@litept.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__LitePT@litept.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 13299494, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7384, 0.5889], "loss/graspness": [1.143, 0.2385], "loss/view": [4.102, 0.9904], "loss/angle": [2.096, 0.7049], "loss/depth": [0.8931, 0.3942], "loss/score": [1.726, 0.6538], "loss/width": [0.9309, 0.6132], "loss": [11.63, 4.184]}, "trend": {"loss/objectness": [0.7384, 0.611, 0.172], "loss/graspness": [1.143, 0.266, 0.767], "loss/view": [4.102, 1.032, 0.748], "loss/angle": [2.096, 0.727, 0.653], "loss/depth": [0.8931, 0.4128, 0.538], "loss/score": [1.726, 0.6392, 0.63], "loss/width": [0.9309, 0.7711, 0.172], "loss": [11.63, 4.46, 0.617]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-1.606, -1.381, -0.9516], [-1.63, -1.391, -0.9178]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 1861.4, "seconds": 19.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/LitePT@litept-structured3d", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=litept-structured3d"], "slot": "backbone", "component": "LitePT", "variant": "litept-structured3d", "verdict": "runs", "judge": 2, "config_hash": "8d71685c372d1776", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=litept-structured3d -o encoder__FineGrasp__LitePT@litept-structured3d.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__LitePT@litept-structured3d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 16358277, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 808], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.808, 0.4435], "loss/graspness": [2.154, 0.1591], "loss/view": [2.218, 0.8363], "loss/angle": [2.258, 0.9381], "loss/depth": [1.851, 0.4921], "loss/score": [2.545, 0.7875], "loss/width": [1.119, 0.8183], "loss": [12.95, 4.475]}, "trend": {"loss/objectness": [0.808, 0.4745, 0.413], "loss/graspness": [2.154, 0.1733, 0.92], "loss/view": [2.218, 0.8668, 0.609], "loss/angle": [2.258, 0.8892, 0.606], "loss/depth": [1.851, 0.4771, 0.742], "loss/score": [2.545, 0.7567, 0.703], "loss/width": [1.119, 0.7625, 0.319], "loss": [12.95, 4.4, 0.66]}, "real_seeds": {"min": 0.704, "mean": 0.983, "zero_iterations": 0}, "supervised_seeds": {"min": 0.082, "mean": 0.203, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.974, -2.973, -2.972], [-2.973, -2.973, -2.972]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.55, "peak_gpu_mib": 10576.4, "seconds": 54.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/LitePT@litept", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=litept"], "slot": "backbone", "component": "LitePT", "variant": "litept", "verdict": "runs", "judge": 2, "config_hash": "32f6f0072cf61fae", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=litept -o encoder__FineGrasp__LitePT@litept.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__LitePT@litept.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 16358277, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8022, 0.3441], "loss/graspness": [1.751, 0.1349], "loss/view": [3.194, 0.9489], "loss/angle": [2.291, 0.8667], "loss/depth": [1.908, 0.4612], "loss/score": [2.604, 0.7313], "loss/width": [1.049, 0.7929], "loss": [13.6, 4.28]}, "trend": {"loss/objectness": [0.8022, 0.3714, 0.537], "loss/graspness": [1.751, 0.1424, 0.919], "loss/view": [3.194, 0.9516, 0.702], "loss/angle": [2.291, 0.826, 0.639], "loss/depth": [1.908, 0.4531, 0.763], "loss/score": [2.604, 0.7058, 0.729], "loss/width": [1.049, 0.7543, 0.281], "loss": [13.6, 4.205, 0.691]}, "real_seeds": {"min": 0.893, "mean": 0.995, "zero_iterations": 0}, "supervised_seeds": {"min": 0.082, "mean": 0.213, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.914, -2.914, -2.914], [-2.914, -2.914, -2.914]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.565, "peak_gpu_mib": 10576.4, "seconds": 54.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/LitePT@litept-structured3d", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=litept-structured3d"], "slot": "backbone", "component": "LitePT", "variant": "litept-structured3d", "verdict": "runs", "judge": 2, "config_hash": "d03f588169a9873e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=litept-structured3d -o encoder__GraspNet-baseline__LitePT@litept-structured3d.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__LitePT@litept-structured3d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12967068, "iterations": 20, "batch_size": 2, "grasps_per_frame": [613, 634], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7381, 0.3051], "loss/view": [0.1853, 0.04728], "loss/score": [0.09645, 0.03334], "loss/angle": [0.5052, 0.4324], "loss/width": [0.5518, 0.1904], "loss/tolerance": [0.6828, 0.31], "loss": [2.76, 1.319]}, "trend": {"loss/objectness": [0.7381, 0.3971, 0.462], "loss/view": [0.1853, 0.04994, 0.731], "loss/score": [0.09645, 0.03667, 0.62], "loss/angle": [0.5052, 0.4439, 0.121], "loss/width": [0.5518, 0.1813, 0.671], "loss/tolerance": [0.6828, 0.3398, 0.502], "loss": [2.76, 1.449, 0.475]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-12.8, -0.2262, 22.54], [-11.88, 0.05865, 14.4]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.364, "peak_gpu_mib": 3408.8, "seconds": 20.2}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/LitePT@litept", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=litept"], "slot": "backbone", "component": "LitePT", "variant": "litept", "verdict": "runs", "judge": 2, "config_hash": "ec9073ad37f997bb", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=litept -o encoder__GraspNet-baseline__LitePT@litept.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__LitePT@litept.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12967068, "iterations": 20, "batch_size": 2, "grasps_per_frame": [443, 510], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7284, 0.4926], "loss/view": [0.212, 0.06176], "loss/score": [0.07119, 0.03207], "loss/angle": [0.5243, 0.4589], "loss/width": [0.7651, 0.1221], "loss/tolerance": [1.197, 0.3252], "loss": [3.498, 1.493]}, "trend": {"loss/objectness": [0.7284, 0.5444, 0.253], "loss/view": [0.212, 0.06622, 0.688], "loss/score": [0.07119, 0.03511, 0.507], "loss/angle": [0.5243, 0.4502, 0.141], "loss/width": [0.7651, 0.1635, 0.786], "loss/tolerance": [1.197, 0.3838, 0.679], "loss": [3.498, 1.643, 0.53]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-16.0, -0.7044, 6.401], [-14.89, -0.7505, 5.576]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.361, "peak_gpu_mib": 3408.8, "seconds": 19.9}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/LitePT@litept-structured3d", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=litept-structured3d"], "slot": "backbone", "component": "LitePT", "variant": "litept-structured3d", "verdict": "runs-empty", "judge": 2, "config_hash": "f6cde242cceca44d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=litept-structured3d -o encoder__Scale-Balanced-Grasp__LitePT@litept-structured3d.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__LitePT@litept-structured3d.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 13440092, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6785, 0.3279], "loss/view": [0.2792, 0.1105], "loss/score": [0.05549, 0.02747], "loss/angle": [0.5211, 0.4369], "loss/width": [0.5758, 0.09286], "loss/tolerance": [1.063, 0.2388], "loss": [3.174, 1.234]}, "trend": {"loss/objectness": [0.6785, 0.3374, 0.503], "loss/view": [0.2792, 0.1255, 0.55], "loss/score": [0.05549, 0.02419, 0.564], "loss/angle": [0.5211, 0.4371, 0.161], "loss/width": [0.5758, 0.11, 0.809], "loss/tolerance": [1.063, 0.279, 0.738], "loss": [3.174, 1.313, 0.586]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.38, "peak_gpu_mib": 8862.9, "seconds": 22.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/LitePT@litept", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=litept"], "slot": "backbone", "component": "LitePT", "variant": "litept", "verdict": "runs", "judge": 2, "config_hash": "59ee97fb6461009a", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=litept -o encoder__Scale-Balanced-Grasp__LitePT@litept.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__LitePT@litept.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 13440092, "iterations": 20, "batch_size": 2, "grasps_per_frame": [2, 4], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.6764, 0.3089], "loss/view": [0.2922, 0.1184], "loss/score": [0.03271, 0.02153], "loss/angle": [0.5232, 0.446], "loss/width": [0.488, 0.1042], "loss/tolerance": [1.044, 0.2213], "loss": [3.057, 1.22]}, "trend": {"loss/objectness": [0.6764, 0.3336, 0.507], "loss/view": [0.2922, 0.1409, 0.518], "loss/score": [0.03271, 0.01975, 0.396], "loss/angle": [0.5232, 0.4423, 0.155], "loss/width": [0.488, 0.1074, 0.78], "loss/tolerance": [1.044, 0.2364, 0.774], "loss": [3.057, 1.28, 0.581]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-1.044, -0.7789, -0.5134], [-1.323, 0.2861, 1.271]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.276, "peak_gpu_mib": 8862.9, "seconds": 17.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/MinkUNet@minkunet18a-openscene", "group": "encoder", "method": "GSNet", "sets": ["backbone=minkunet18a-openscene"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a-openscene", "verdict": "runs", "judge": 2, "config_hash": "61b4c3bd1fcc3f19", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=minkunet18a-openscene -o encoder__GSNet__MinkUNet@minkunet18a-openscene.yaml", "probe": "grasppanda probe encoder__GSNet__MinkUNet@minkunet18a-openscene.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16247855, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6974, 0.6754], "loss/graspness": [0.5813, 0.2327], "loss/view": [6.841, 0.4114], "loss/score": [1.183, 0.07335], "loss/width": [0.0, 0.2716], "loss": [9.302, 1.665]}, "trend": {"loss/objectness": [0.6974, 0.6743, 0.033], "loss/graspness": [0.5813, 0.246, 0.577], "loss/view": [6.841, 0.4141, 0.939], "loss/score": [1.183, 0.07723, 0.935], "loss/width": [1.623, 0.4306, 0.735], "loss": [9.302, 1.842, 0.802]}, "active": {"loss/width": 19}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.04, "mean": 0.863, "zero_iterations": 0}, "supervised_seeds": {"min": 0.5, "mean": 0.975, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [33, 5], "score_quantiles": [[0.0699, 0.1029, 0.1529], [0.06896, 0.1108, 0.1849]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.273, "peak_gpu_mib": 1804.2, "seconds": 26.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/MinkUNet@minkunet18a", "group": "encoder", "method": "GSNet", "sets": ["backbone=minkunet18a"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a", "verdict": "runs", "judge": 2, "config_hash": "10f766c2e3a2084d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=minkunet18a -o encoder__GSNet__MinkUNet@minkunet18a.yaml", "probe": "grasppanda probe encoder__GSNet__MinkUNet@minkunet18a.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16247855, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7126, 0.6483], "loss/graspness": [1.128, 0.3267], "loss/view": [2.516, 0.3264], "loss/score": [1.735, 0.07971], "loss/width": [2.758, 0.2315], "loss": [8.85, 1.613]}, "trend": {"loss/objectness": [0.7126, 0.6655, 0.066], "loss/graspness": [1.128, 0.3106, 0.725], "loss/view": [2.516, 0.4223, 0.832], "loss/score": [1.735, 0.08727, 0.95], "loss/width": [2.758, 0.228, 0.917], "loss": [8.85, 1.714, 0.806]}, "real_seeds": {"min": 0.192, "mean": 0.871, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [33, 5], "score_quantiles": [[0.07833, 0.1415, 0.228], [0.0845, 0.1402, 0.2334]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.218, "peak_gpu_mib": 1803.4, "seconds": 22.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/MinkUNet@minkunet34c-pointcontrast", "group": "encoder", "method": "GSNet", "sets": ["backbone=minkunet34c-pointcontrast"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c-pointcontrast", "verdict": "runs", "judge": 2, "config_hash": "3bfe3a0af9be55ba", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=minkunet34c-pointcontrast -o encoder__GSNet__MinkUNet@minkunet34c-pointcontrast.yaml", "probe": "grasppanda probe encoder__GSNet__MinkUNet@minkunet34c-pointcontrast.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 38601327, "iterations": 20, "batch_size": 4, "grasps_per_frame": [15, 11], "frames": 8, "losses": {"loss/objectness": [0.7517, 0.6233], "loss/graspness": [0.7977, 0.2334], "loss/view": [0.8828, 0.5558], "loss/score": [0.645, 0.07745], "loss/width": [3.294, 0.1949], "loss": [6.371, 1.685]}, "trend": {"loss/objectness": [0.7517, 0.6368, 0.153], "loss/graspness": [0.7977, 0.2536, 0.682], "loss/view": [0.8828, 0.4297, 0.513], "loss/score": [0.645, 0.0902, 0.86], "loss/width": [3.294, 0.2163, 0.934], "loss": [6.371, 1.627, 0.745]}, "real_seeds": {"min": 0.216, "mean": 0.927, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [33, 5], "score_quantiles": [[0.2896, 17.85, 423.1], [0.1166, 44.98, 146.1]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.189, "peak_gpu_mib": 2057.8, "seconds": 28.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/MinkUNet@minkunet34c", "group": "encoder", "method": "GSNet", "sets": ["backbone=minkunet34c"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c", "verdict": "runs", "judge": 2, "config_hash": "43ddf53e89e1b22c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=minkunet34c -o encoder__GSNet__MinkUNet@minkunet34c.yaml", "probe": "grasppanda probe encoder__GSNet__MinkUNet@minkunet34c.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 38610735, "iterations": 20, "batch_size": 4, "grasps_per_frame": [36, 38], "frames": 8, "losses": {"loss/objectness": [0.7192, 0.6766], "loss/graspness": [1.468, 0.2393], "loss/view": [2.125, 0.3811], "loss/score": [1.097, 0.06709], "loss/width": [4.175, 0.2527], "loss": [9.585, 1.617]}, "trend": {"loss/objectness": [0.7192, 0.688, 0.043], "loss/graspness": [1.468, 0.3817, 0.74], "loss/view": [2.125, 0.3176, 0.851], "loss/score": [1.097, 0.08425, 0.923], "loss/width": [4.175, 0.2769, 0.934], "loss": [9.585, 1.749, 0.818]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.02, "mean": 0.808, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [33, 5], "score_quantiles": [[0.08582, 0.1431, 0.1944], [0.08113, 0.1503, 0.1717]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 2085.2, "seconds": 26.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/MinkUNet@minkunet18a-openscene", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=minkunet18a-openscene"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a-openscene", "verdict": "runs", "judge": 2, "config_hash": "665fac53c832b3b2", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=minkunet18a-openscene -o encoder__EconomicGrasp__MinkUNet@minkunet18a-openscene.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__MinkUNet@minkunet18a-openscene.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16644318, "iterations": 20, "batch_size": 4, "grasps_per_frame": [469, 736], "frames": 8, "losses": {"loss/objectness": [0.7124, 0.6197], "loss/graspness": [0.5914, 0.2481], "loss/view": [2.841, 0.594], "loss/angle": [-0.0, 0.8788], "loss/depth": [-0.0, 0.3956], "loss/score": [0.0, 0.7774], "loss/width": [0.0, 0.7963], "loss": [4.145, 4.31]}, "trend": {"loss/objectness": [0.7124, 0.6317, 0.113], "loss/graspness": [0.5914, 0.2909, 0.508], "loss/view": [2.841, 0.6541, 0.77], "loss/angle": [2.925, 0.7763, 0.735], "loss/depth": [1.911, 0.4189, 0.781], "loss/score": [1.933, 0.6836, 0.646], "loss/width": [1.222, 0.7765, 0.365], "loss": [4.145, 4.232, -0.021]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss": ["flat"]}, "real_seeds": {"min": 0.009, "mean": 0.912, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.096, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [36, 5], "score_quantiles": [[-1.102, -0.6695, -0.5952], [-0.8669, -0.7515, -0.6351]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.239, "peak_gpu_mib": 2020.9, "seconds": 25.8}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/MinkUNet@minkunet18a", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=minkunet18a"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a", "verdict": "runs", "judge": 2, "config_hash": "5171f71aaea5ecbd", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=minkunet18a -o encoder__EconomicGrasp__MinkUNet@minkunet18a.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__MinkUNet@minkunet18a.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16644318, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7114, 0.665], "loss/graspness": [1.1, 0.264], "loss/view": [2.836, 0.7317], "loss/angle": [2.721, 0.8038], "loss/depth": [1.947, 0.3846], "loss/score": [1.933, 0.7088], "loss/width": [0.8263, 0.9709], "loss": [12.07, 4.529]}, "trend": {"loss/objectness": [0.7114, 0.6681, 0.061], "loss/graspness": [1.1, 0.3849, 0.65], "loss/view": [2.836, 0.8403, 0.704], "loss/angle": [2.721, 0.8677, 0.681], "loss/depth": [1.947, 0.5403, 0.723], "loss/score": [1.933, 0.7599, 0.607], "loss/width": [0.8263, 0.8629, -0.044], "loss": [12.07, 4.924, 0.592]}, "flags": {"loss/width": ["flat"]}, "real_seeds": {"min": 0.073, "mean": 0.795, "zero_iterations": 0}, "supervised_seeds": {"min": 0.009, "mean": 0.153, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [36, 5], "score_quantiles": [[-1.084, -0.8444, -0.5867], [-1.139, -0.8479, -0.4976]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.201, "peak_gpu_mib": 2020.9, "seconds": 25.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/MinkUNet@minkunet34c-pointcontrast", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=minkunet34c-pointcontrast"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c-pointcontrast", "verdict": "runs-empty", "judge": 2, "config_hash": "570d876cc65be335", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=minkunet34c-pointcontrast -o encoder__EconomicGrasp__MinkUNet@minkunet34c-pointcontrast.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__MinkUNet@minkunet34c-pointcontrast.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 38997790, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7593, 0.4902], "loss/graspness": [0.8316, 0.1997], "loss/view": [1.487, 0.7506], "loss/angle": [2.718, 0.9988], "loss/depth": [1.496, 0.514], "loss/score": [1.36, 0.8702], "loss/width": [0.731, 0.7036], "loss": [9.382, 4.527]}, "trend": {"loss/objectness": [0.7593, 0.5101, 0.328], "loss/graspness": [0.8316, 0.2303, 0.723], "loss/view": [1.487, 0.8416, 0.434], "loss/angle": [2.718, 1.043, 0.616], "loss/depth": [1.496, 0.5751, 0.616], "loss/score": [1.36, 0.8854, 0.349], "loss/width": [0.731, 0.763, -0.044], "loss": [9.382, 4.848, 0.483]}, "flags": {"loss/width": ["flat"]}, "real_seeds": {"min": 0.603, "mean": 0.961, "zero_iterations": 0}, "supervised_seeds": {"min": 0.032, "mean": 0.174, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [36, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.151, "peak_gpu_mib": 2274.9, "seconds": 27.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/MinkUNet@minkunet34c", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=minkunet34c"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c", "verdict": "runs", "judge": 2, "config_hash": "a4654d6605602bbe", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=minkunet34c -o encoder__EconomicGrasp__MinkUNet@minkunet34c.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__MinkUNet@minkunet34c.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 39007198, "iterations": 20, "batch_size": 4, "grasps_per_frame": [24, 44], "frames": 8, "losses": {"loss/objectness": [0.7224, 0.6648], "loss/graspness": [1.451, 0.3798], "loss/view": [2.431, 1.118], "loss/angle": [2.183, 0.9679], "loss/depth": [1.007, 0.403], "loss/score": [1.644, 0.8275], "loss/width": [3.8, 0.9181], "loss": [13.24, 5.279]}, "trend": {"loss/objectness": [0.7224, 0.6757, 0.065], "loss/graspness": [1.451, 0.3897, 0.731], "loss/view": [2.431, 0.8432, 0.653], "loss/angle": [2.183, 0.7825, 0.642], "loss/depth": [1.007, 0.428, 0.575], "loss/score": [1.644, 0.6847, 0.584], "loss/width": [3.8, 0.8136, 0.786], "loss": [13.24, 4.617, 0.651]}, "real_seeds": {"min": 0.115, "mean": 0.837, "zero_iterations": 0}, "supervised_seeds": {"min": 0.031, "mean": 0.13, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [36, 5], "score_quantiles": [[-2.047, -1.398, -0.9573], [-2.206, -1.485, -0.8598]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.165, "peak_gpu_mib": 2300.5, "seconds": 26.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/MinkUNet@minkunet18a-openscene", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=minkunet18a-openscene"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a-openscene", "verdict": "runs", "judge": 2, "config_hash": "2472765cfaa641a8", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=minkunet18a-openscene -o encoder__FineGrasp__MinkUNet@minkunet18a-openscene.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__MinkUNet@minkunet18a-openscene.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 20039521, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.6909, 0.2258], "loss/graspness": [0.7719, 0.1617], "loss/view": [4.309, 0.8971], "loss/angle": [2.754, 1.176], "loss/depth": [1.867, 0.6247], "loss/score": [1.734, 1.011], "loss/width": [2.692, 0.7407], "loss": [14.82, 4.837]}, "trend": {"loss/objectness": [0.6909, 0.2818, 0.592], "loss/graspness": [0.7719, 0.1822, 0.764], "loss/view": [4.309, 0.8383, 0.805], "loss/angle": [2.754, 1.186, 0.569], "loss/depth": [1.867, 0.6518, 0.651], "loss/score": [1.734, 1.014, 0.415], "loss/width": [2.692, 0.7736, 0.713], "loss": [14.82, 4.928, 0.667]}, "flags": {"loss/score": ["rising"]}, "real_seeds": {"min": 0.446, "mean": 0.923, "zero_iterations": 0}, "supervised_seeds": {"min": 0.062, "mean": 0.252, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [35, 5], "score_quantiles": [[-2.935, -2.934, -2.934], [-2.934, -2.934, -2.934]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.492, "peak_gpu_mib": 11546.6, "seconds": 63.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/MinkUNet@minkunet18a", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=minkunet18a"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a", "verdict": "runs", "judge": 2, "config_hash": "eb6fe93d756f8692", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=minkunet18a -o encoder__FineGrasp__MinkUNet@minkunet18a.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__MinkUNet@minkunet18a.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 20039521, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7453, 0.5815], "loss/graspness": [1.687, 0.2336], "loss/view": [2.681, 0.6216], "loss/angle": [2.66, 1.041], "loss/depth": [2.045, 0.5413], "loss/score": [2.049, 0.8912], "loss/width": [4.34, 0.8776], "loss": [16.21, 4.788]}, "trend": {"loss/objectness": [0.7453, 0.6154, 0.174], "loss/graspness": [1.687, 0.2577, 0.847], "loss/view": [2.681, 0.6101, 0.772], "loss/angle": [2.66, 1.062, 0.601], "loss/depth": [2.045, 0.5533, 0.729], "loss/score": [2.049, 0.8962, 0.563], "loss/width": [4.34, 0.8354, 0.807], "loss": [16.21, 4.83, 0.702]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.002, "mean": 0.948, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.123, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [35, 5], "score_quantiles": [[-3.018, -3.018, -3.018], [-3.018, -3.018, -3.018]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.478, "peak_gpu_mib": 11547.1, "seconds": 63.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/MinkUNet@minkunet34c-pointcontrast", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=minkunet34c-pointcontrast"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c-pointcontrast", "verdict": "runs", "judge": 2, "config_hash": "f02acb747c4cc985", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=minkunet34c-pointcontrast -o encoder__FineGrasp__MinkUNet@minkunet34c-pointcontrast.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__MinkUNet@minkunet34c-pointcontrast.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 42383585, "iterations": 20, "batch_size": 8, "grasps_per_frame": [9, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7046, 0.51], "loss/graspness": [1.348, 0.2082], "loss/view": [2.773, 0.6672], "loss/angle": [2.188, 1.123], "loss/depth": [1.859, 0.5819], "loss/score": [1.53, 0.9465], "loss/width": [3.649, 0.7742], "loss": [14.05, 4.811]}, "trend": {"loss/objectness": [0.7046, 0.556, 0.211], "loss/graspness": [1.348, 0.228, 0.831], "loss/view": [2.773, 0.7307, 0.736], "loss/angle": [2.188, 1.072, 0.51], "loss/depth": [1.859, 0.5677, 0.695], "loss/score": [1.53, 0.9033, 0.41], "loss/width": [3.649, 0.7785, 0.787], "loss": [14.05, 4.836, 0.656]}, "real_seeds": {"min": 0.039, "mean": 0.866, "zero_iterations": 0}, "supervised_seeds": {"min": 0.109, "mean": 0.199, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [35, 5], "score_quantiles": [[-1.468, -1.468, -1.468], null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.484, "peak_gpu_mib": 11794.0, "seconds": 69.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/MinkUNet@minkunet34c", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=minkunet34c"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c", "verdict": "runs", "judge": 2, "config_hash": "8e23518a4fe8ccf3", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=minkunet34c -o encoder__FineGrasp__MinkUNet@minkunet34c.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__MinkUNet@minkunet34c.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 42402401, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8185, 0.5723], "loss/graspness": [0.9718, 0.2452], "loss/view": [2.44, 0.6673], "loss/angle": [2.135, 1.074], "loss/depth": [1.758, 0.5639], "loss/score": [1.687, 0.9452], "loss/width": [3.818, 0.7285], "loss": [13.63, 4.797]}, "trend": {"loss/objectness": [0.8185, 0.599, 0.268], "loss/graspness": [0.9718, 0.277, 0.715], "loss/view": [2.44, 0.6702, 0.725], "loss/angle": [2.135, 1.091, 0.489], "loss/depth": [1.758, 0.5726, 0.674], "loss/score": [1.687, 0.9353, 0.446], "loss/width": [3.818, 0.8141, 0.787], "loss": [13.63, 4.959, 0.636]}, "real_seeds": {"min": 0.123, "mean": 0.842, "zero_iterations": 0}, "supervised_seeds": {"min": 0.087, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [35, 5], "score_quantiles": [[-1.501, -1.501, -1.501], [-1.501, -1.501, -1.501]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.528, "peak_gpu_mib": 11844.0, "seconds": 67.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/MinkUNet@minkunet18a-openscene", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=minkunet18a-openscene"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a-openscene", "verdict": "runs", "judge": 2, "config_hash": "2942fde537abb42e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=minkunet18a-openscene -o encoder__GraspNet-baseline__MinkUNet@minkunet18a-openscene.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__MinkUNet@minkunet18a-openscene.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15900172, "iterations": 20, "batch_size": 2, "grasps_per_frame": [700, 616], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6967, 0.491], "loss/view": [0.07127, 0.03562], "loss/score": [0.1023, 0.03171], "loss/angle": [0.5175, 0.4568], "loss/width": [0.4694, 0.1592], "loss/tolerance": [1.292, 0.4121], "loss": [3.149, 1.586]}, "trend": {"loss/objectness": [0.6967, 0.5003, 0.282], "loss/view": [0.07127, 0.03779, 0.47], "loss/score": [0.1023, 0.03187, 0.689], "loss/angle": [0.5175, 0.4246, 0.18], "loss/width": [0.4694, 0.1784, 0.62], "loss/tolerance": [1.292, 0.4106, 0.682], "loss": [3.149, 1.584, 0.497]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-22.12, -0.769, 20.01], [-20.67, -0.6766, 12.39]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.24, "peak_gpu_mib": 3377.2, "seconds": 19.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/MinkUNet@minkunet18a", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=minkunet18a"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a", "verdict": "runs", "judge": 2, "config_hash": "b44971856e405e0f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=minkunet18a -o encoder__GraspNet-baseline__MinkUNet@minkunet18a.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__MinkUNet@minkunet18a.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15900172, "iterations": 20, "batch_size": 2, "grasps_per_frame": [462, 390], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7388, 0.6157], "loss/view": [0.239, 0.03958], "loss/score": [0.06051, 0.03235], "loss/angle": [0.5034, 0.4315], "loss/width": [0.4941, 0.1458], "loss/tolerance": [1.279, 0.4368], "loss": [3.314, 1.702]}, "trend": {"loss/objectness": [0.7388, 0.628, 0.15], "loss/view": [0.239, 0.04242, 0.823], "loss/score": [0.06051, 0.02837, 0.531], "loss/angle": [0.5034, 0.4247, 0.156], "loss/width": [0.4941, 0.1394, 0.718], "loss/tolerance": [1.279, 0.4451, 0.652], "loss": [3.314, 1.708, 0.485]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-17.51, 0.9562, 26.43], [-14.43, 0.1166, 20.31]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.243, "peak_gpu_mib": 3377.2, "seconds": 19.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/MinkUNet@minkunet34c-pointcontrast", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=minkunet34c-pointcontrast"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c-pointcontrast", "verdict": "runs", "judge": 2, "config_hash": "434c04f79e00a379", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=minkunet34c-pointcontrast -o encoder__GraspNet-baseline__MinkUNet@minkunet34c-pointcontrast.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__MinkUNet@minkunet34c-pointcontrast.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 38253644, "iterations": 20, "batch_size": 2, "grasps_per_frame": [497, 569], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7418, 0.3481], "loss/view": [0.2036, 0.03666], "loss/score": [0.06753, 0.03378], "loss/angle": [0.5198, 0.4233], "loss/width": [0.5174, 0.1448], "loss/tolerance": [0.997, 0.4064], "loss": [3.047, 1.393]}, "trend": {"loss/objectness": [0.7418, 0.4085, 0.449], "loss/view": [0.2036, 0.04002, 0.803], "loss/score": [0.06753, 0.02927, 0.567], "loss/angle": [0.5198, 0.4294, 0.174], "loss/width": [0.5174, 0.17, 0.671], "loss/tolerance": [0.997, 0.5358, 0.463], "loss": [3.047, 1.613, 0.471]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-11.4, 0.1018, 14.67], [-9.789, -0.05869, 12.91]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.21, "peak_gpu_mib": 3633.6, "seconds": 19.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/MinkUNet@minkunet34c", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=minkunet34c"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c", "verdict": "runs", "judge": 2, "config_hash": "8c1ae474ca464ce8", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=minkunet34c -o encoder__GraspNet-baseline__MinkUNet@minkunet34c.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__MinkUNet@minkunet34c.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 38263052, "iterations": 20, "batch_size": 2, "grasps_per_frame": [435, 489], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7536, 0.4839], "loss/view": [0.2392, 0.05706], "loss/score": [0.09305, 0.03002], "loss/angle": [0.4876, 0.4408], "loss/width": [0.4636, 0.1719], "loss/tolerance": [1.479, 0.3807], "loss": [3.516, 1.564]}, "trend": {"loss/objectness": [0.7536, 0.5297, 0.297], "loss/view": [0.2392, 0.06024, 0.748], "loss/score": [0.09305, 0.03226, 0.653], "loss/angle": [0.4876, 0.4261, 0.126], "loss/width": [0.4636, 0.1765, 0.619], "loss/tolerance": [1.479, 0.3786, 0.744], "loss": [3.516, 1.603, 0.544]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-10.77, 0.4093, 9.1], [-8.787, 0.2902, 16.93]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.263, "peak_gpu_mib": 3646.0, "seconds": 20.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/MinkUNet@minkunet18a-openscene", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=minkunet18a-openscene"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a-openscene", "verdict": "runs-empty", "judge": 2, "config_hash": "2b52df4a64918ac7", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=minkunet18a-openscene -o encoder__Scale-Balanced-Grasp__MinkUNet@minkunet18a-openscene.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__MinkUNet@minkunet18a-openscene.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 16354508, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6417, 0.325], "loss/view": [0.1342, 0.09121], "loss/score": [0.03754, 0.02736], "loss/angle": [0.4983, 0.4548], "loss/width": [0.4554, 0.06362], "loss/tolerance": [0.5981, 0.1171], "loss": [2.365, 1.079]}, "trend": {"loss/objectness": [0.6417, 0.3238, 0.495], "loss/view": [0.1342, 0.1034, 0.23], "loss/score": [0.03754, 0.02269, 0.396], "loss/angle": [0.4983, 0.4541, 0.089], "loss/width": [0.4554, 0.07745, 0.83], "loss/tolerance": [0.5981, 0.1487, 0.751], "loss": [2.365, 1.13, 0.522]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.422, "peak_gpu_mib": 8829.0, "seconds": 23.7}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/MinkUNet@minkunet18a", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=minkunet18a"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet18a", "verdict": "runs-empty", "judge": 2, "config_hash": "c8073519f44a8698", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=minkunet18a -o encoder__Scale-Balanced-Grasp__MinkUNet@minkunet18a.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__MinkUNet@minkunet18a.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 16354508, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.5777, 0.3743], "loss/view": [0.3205, 0.09202], "loss/score": [0.03857, 0.02306], "loss/angle": [0.5131, 0.4404], "loss/width": [0.632, 0.0812], "loss/tolerance": [1.143, 0.1975], "loss": [3.224, 1.208]}, "trend": {"loss/objectness": [0.5777, 0.3767, 0.348], "loss/view": [0.3205, 0.1078, 0.664], "loss/score": [0.03857, 0.02022, 0.476], "loss/angle": [0.5131, 0.4194, 0.183], "loss/width": [0.632, 0.09464, 0.85], "loss/tolerance": [1.143, 0.2126, 0.814], "loss": [3.224, 1.231, 0.618]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.264, "peak_gpu_mib": 8828.4, "seconds": 20.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/MinkUNet@minkunet34c-pointcontrast", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=minkunet34c-pointcontrast"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c-pointcontrast", "verdict": "runs", "judge": 2, "config_hash": "e3275d76cb62f705", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=minkunet34c-pointcontrast -o encoder__Scale-Balanced-Grasp__MinkUNet@minkunet34c-pointcontrast.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__MinkUNet@minkunet34c-pointcontrast.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 38707980, "iterations": 20, "batch_size": 2, "grasps_per_frame": [105, 127], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7493, 0.2604], "loss/view": [0.1829, 0.09066], "loss/score": [0.04177, 0.01772], "loss/angle": [0.5147, 0.4496], "loss/width": [0.3398, 0.05753], "loss/tolerance": [0.9793, 0.1499], "loss": [2.808, 1.026]}, "trend": {"loss/objectness": [0.7493, 0.2688, 0.641], "loss/view": [0.1829, 0.1066, 0.417], "loss/score": [0.04177, 0.01487, 0.644], "loss/angle": [0.5147, 0.4434, 0.139], "loss/width": [0.3398, 0.07958, 0.766], "loss/tolerance": [0.9793, 0.17, 0.826], "loss": [2.808, 1.083, 0.614]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-4.168, -1.245, 0.7641], [-3.647, -1.283, 1.873]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.267, "peak_gpu_mib": 9084.7, "seconds": 20.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/MinkUNet@minkunet34c", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=minkunet34c"], "slot": "backbone", "component": "MinkUNet", "variant": "minkunet34c", "verdict": "runs-empty", "judge": 2, "config_hash": "2f22d5de5012aca6", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=minkunet34c -o encoder__Scale-Balanced-Grasp__MinkUNet@minkunet34c.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__MinkUNet@minkunet34c.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 38717388, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6128, 0.3803], "loss/view": [0.3435, 0.09784], "loss/score": [0.05874, 0.02172], "loss/angle": [0.5415, 0.4566], "loss/width": [0.4086, 0.0989], "loss/tolerance": [1.236, 0.2401], "loss": [3.202, 1.296]}, "trend": {"loss/objectness": [0.6128, 0.3608, 0.411], "loss/view": [0.3435, 0.1139, 0.669], "loss/score": [0.05874, 0.0232, 0.605], "loss/angle": [0.5415, 0.4391, 0.189], "loss/width": [0.4086, 0.113, 0.723], "loss/tolerance": [1.236, 0.2728, 0.779], "loss": [3.202, 1.323, 0.587]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.916, "peak_gpu_mib": 9094.7, "seconds": 30.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/OACNNs", "group": "encoder", "method": "GSNet", "sets": ["backbone=oacnns"], "slot": "backbone", "component": "OACNNs", "variant": "oacnns", "verdict": "runs-unstable", "judge": 2, "config_hash": "b3748b50769bcac0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=oacnns -o encoder__GSNet__OACNNs.yaml", "unstable": "5 of 20 iterations had no real seed (iteration 4, 5, 6, 19, 20). No grasp was predicted on any probed frame.", "probe": "grasppanda probe encoder__GSNet__OACNNs.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "5 of 20 iterations had no real seed (iteration 4, 5, 6, 19, 20). No grasp was predicted on any probed frame.", "judge": 2, "iterations": 20, "grasps_per_frame": [0, 0], "losses": {"loss/objectness": [0.6831, 0.685], "loss/graspness": [0.4245, 0.4204], "loss/view": [0.7776, 0.0], "loss/score": [1.018, 0.0], "loss/width": [2.556, 0.0], "loss": [5.46, 1.105]}, "trend": {"loss/objectness": [0.6831, 0.6866, -0.005], "loss/graspness": [0.4245, 0.3022, 0.288], "loss/view": [0.7776, 0.283, 0.636], "loss/score": [1.018, 0.07104, 0.93], "loss/width": [2.556, 0.4971, 0.806], "loss": [5.46, 1.422, 0.74]}, "active": {"loss/view": 15, "loss/score": 15, "loss/width": 14}, "flags": {"loss/objectness": ["flat"], "loss/view": ["zero_at_end"], "loss/score": ["zero_at_end"], "loss/width": ["zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null]}, "schedule": "constant", "rate": 0.001, "parameters": 52317519, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.6831, 0.6854], "loss/graspness": [0.4245, 0.3218], "loss/view": [0.7776, 0.0], "loss/score": [1.018, 0.0], "loss/width": [2.556, 0.0], "loss": [5.46, 1.007]}, "trend": {"loss/objectness": [0.6831, 0.6866, -0.005], "loss/graspness": [0.4245, 0.2777, 0.346], "loss/view": [0.7776, 0.8533, -0.097], "loss/score": [1.018, 0.1137, 0.888], "loss/width": [2.556, 0.4196, 0.836], "loss": [5.46, 1.823, 0.666]}, "active": {"loss/view": 15, "loss/score": 15, "loss/width": 14}, "flags": {"loss/objectness": ["flat"], "loss/view": ["rising", "zero_at_end"], "loss/score": ["zero_at_end"], "loss/width": ["zero_at_end"]}, "real_seeds": {"min": 0.0, "mean": 0.631, "zero_iterations": 5}, "supervised_seeds": {"min": 0.0, "mean": 0.725, "zero_iterations": 5}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.401, "peak_gpu_mib": 3313.5, "seconds": 23.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/OACNNs", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=oacnns"], "slot": "backbone", "component": "OACNNs", "variant": "oacnns", "verdict": "runs-unstable", "judge": 2, "config_hash": "9ab9f4f4f3c526af", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=oacnns -o encoder__EconomicGrasp__OACNNs.yaml", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "probe": "grasppanda probe encoder__EconomicGrasp__OACNNs.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.6853, 0.6728], "loss/graspness": [0.4213, 0.2502], "loss/view": [1.136, 0.7073], "loss/angle": [2.291, 0.9085], "loss/depth": [2.107, 0.4014], "loss/score": [1.901, 0.7642], "loss/width": [2.784, 0.8698], "loss": [11.33, 4.574]}, "trend": {"loss/objectness": [0.6853, 0.684, 0.002], "loss/graspness": [0.4213, 0.2697, 0.36], "loss/view": [1.136, 0.7682, 0.323], "loss/angle": [2.291, 0.8552, 0.627], "loss/depth": [2.107, 0.4356, 0.793], "loss/score": [1.901, 0.7224, 0.62], "loss/width": [2.784, 0.8423, 0.697], "loss": [11.33, 4.578, 0.596]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/objectness": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.212, -2.054, -1.866], [-2.315, -2.102, -1.926]]}, "schedule": "constant", "rate": 0.001, "parameters": 52713982, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6853, 0.6882], "loss/graspness": [0.4213, 0.2386], "loss/view": [1.136, 0.7915], "loss/angle": [2.291, 0.9481], "loss/depth": [2.107, 0.5583], "loss/score": [1.901, 0.8005], "loss/width": [2.784, 0.8096], "loss": [11.33, 4.835]}, "trend": {"loss/objectness": [0.6853, 0.6931, -0.011], "loss/graspness": [0.4213, 0.3449, 0.181], "loss/view": [1.136, 0.8158, 0.282], "loss/angle": [2.291, 0.8034, 0.649], "loss/depth": [2.107, 0.4456, 0.789], "loss/score": [1.901, 0.7159, 0.623], "loss/width": [2.784, 0.7529, 0.73], "loss": [11.33, 4.092, 0.639]}, "active": {"loss/view": 19, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.593, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.117, "zero_iterations": 2}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.23, -2.023, -1.729], [-2.32, -2.001, -1.737]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.362, "peak_gpu_mib": 3570.8, "seconds": 25.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/OACNNs", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=oacnns"], "slot": "backbone", "component": "OACNNs", "variant": "oacnns", "verdict": "runs-unstable", "judge": 2, "config_hash": "3912ab710953d35c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=oacnns -o encoder__FineGrasp__OACNNs.yaml", "fitted": ["in_channels: 6"], "unstable": "2 of 20 iterations had no real seed (iteration 2, 3).", "probe": "grasppanda probe encoder__FineGrasp__OACNNs.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "6 of 20 iterations had no real seed (iteration 2, 3, 17, 18, 19, 20). No grasp was predicted on any probed frame.", "judge": 2, "iterations": 20, "grasps_per_frame": [0, 0], "losses": {"loss/objectness": [0.6974, 0.6901], "loss/graspness": [0.6037, 0.353], "loss/view": [1.086, 0.0], "loss/angle": [2.424, -0.0], "loss/depth": [1.863, -0.0], "loss/score": [2.337, -0.0], "loss/width": [1.075, 0.0], "loss": [10.09, 1.043]}, "trend": {"loss/objectness": [0.6974, 0.6905, 0.01], "loss/graspness": [0.6037, 0.3807, 0.369], "loss/view": [1.086, 0.5073, 0.533], "loss/angle": [2.424, 0.7662, 0.684], "loss/depth": [1.863, 0.3959, 0.787], "loss/score": [2.337, 0.5988, 0.744], "loss/width": [1.075, 0.9557, 0.111], "loss": [10.09, 1.153, 0.886]}, "active": {"loss/view": 14, "loss/angle": 13, "loss/depth": 13, "loss/score": 13, "loss/width": 13}, "flags": {"loss/objectness": ["flat"], "loss/view": ["zero_at_end"], "loss/angle": ["zero_at_end"], "loss/depth": ["zero_at_end"], "loss/score": ["zero_at_end"], "loss/width": ["zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [null, null]}, "schedule": "constant", "rate": 0.002, "parameters": 56102369, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.6974, 0.6901], "loss/graspness": [0.6037, 0.3688], "loss/view": [1.086, 0.7878], "loss/angle": [2.424, 0.2452], "loss/depth": [1.863, 0.1982], "loss/score": [2.337, 0.2774], "loss/width": [1.075, 0.445], "loss": [10.09, 3.012]}, "trend": {"loss/objectness": [0.6974, 0.6917, 0.008], "loss/graspness": [0.6037, 0.3909, 0.352], "loss/view": [1.086, 0.5733, 0.472], "loss/angle": [2.424, 0.758, 0.687], "loss/depth": [1.863, 0.4428, 0.762], "loss/score": [2.337, 0.6652, 0.715], "loss/width": [1.075, 0.6886, 0.36], "loss": [10.09, 2.536, 0.749]}, "active": {"loss/view": 18, "loss/angle": 15, "loss/depth": 15, "loss/score": 15, "loss/width": 15}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.573, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.07, "zero_iterations": 5}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-3.526, -3.526, -3.525], [-3.526, -3.526, -3.525]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.77, "peak_gpu_mib": 14115.9, "seconds": 58.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/OACNNs", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=oacnns"], "slot": "backbone", "component": "OACNNs", "variant": "oacnns", "verdict": "runs", "judge": 2, "config_hash": "84603225fab0bc61", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=oacnns -o encoder__GraspNet-baseline__OACNNs.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__OACNNs.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 51928876, "iterations": 20, "batch_size": 2, "grasps_per_frame": [877, 858], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6847, 0.4331], "loss/view": [0.232, 0.04346], "loss/score": [0.04561, 0.03876], "loss/angle": [0.5166, 0.4204], "loss/width": [0.4622, 0.1439], "loss/tolerance": [0.9611, 0.3588], "loss": [2.902, 1.438]}, "trend": {"loss/objectness": [0.6847, 0.4566, 0.333], "loss/view": [0.232, 0.04423, 0.809], "loss/score": [0.04561, 0.02847, 0.376], "loss/angle": [0.5166, 0.4202, 0.187], "loss/width": [0.4622, 0.1665, 0.64], "loss/tolerance": [0.9611, 0.3986, 0.585], "loss": [2.902, 1.515, 0.478]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-17.97, -0.01444, 23.96], [-17.08, 0.08727, 22.77]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.494, "peak_gpu_mib": 4372.6, "seconds": 32.9}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/OACNNs", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=oacnns"], "slot": "backbone", "component": "OACNNs", "variant": "oacnns", "verdict": "runs-empty", "judge": 2, "config_hash": "055d5aef09033f2d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=oacnns -o encoder__Scale-Balanced-Grasp__OACNNs.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__OACNNs.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 52383212, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7125, 0.3826], "loss/view": [0.3029, 0.09263], "loss/score": [0.03017, 0.02462], "loss/angle": [0.5114, 0.4446], "loss/width": [0.6478, 0.0754], "loss/tolerance": [1.089, 0.1887], "loss": [3.294, 1.209]}, "trend": {"loss/objectness": [0.7125, 0.3656, 0.487], "loss/view": [0.3029, 0.1072, 0.646], "loss/score": [0.03017, 0.01988, 0.341], "loss/angle": [0.5114, 0.4367, 0.146], "loss/width": [0.6478, 0.09164, 0.859], "loss/tolerance": [1.089, 0.2257, 0.793], "loss": [3.294, 1.247, 0.622]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.621, "peak_gpu_mib": 9822.8, "seconds": 26.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/OctFormer", "group": "encoder", "method": "GSNet", "sets": ["backbone=octformer"], "slot": "backbone", "component": "OctFormer", "variant": "octformer", "verdict": "runs", "judge": 2, "config_hash": "105a11a5068bb139", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=octformer -o encoder__GSNet__OctFormer.yaml", "probe": "grasppanda probe encoder__GSNet__OctFormer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 44766423, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7589, 0.6634], "loss/graspness": [0.9026, 0.2752], "loss/view": [1.787, 0.3019], "loss/score": [1.458, 0.06416], "loss/width": [3.258, 0.2118], "loss": [8.164, 1.517]}, "trend": {"loss/objectness": [0.7589, 0.6733, 0.113], "loss/graspness": [0.9026, 0.2808, 0.689], "loss/view": [1.787, 0.3011, 0.832], "loss/score": [1.458, 0.06735, 0.954], "loss/width": [3.258, 0.2206, 0.932], "loss": [8.164, 1.543, 0.811]}, "real_seeds": {"min": 0.797, "mean": 0.99, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.08169, 0.1483, 0.2966], [0.07376, 0.1428, 0.2755]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.279, "peak_gpu_mib": 2386.5, "seconds": 16.8}, "run": "2026-10-15@98e5310"},
  {"id": "encoder/EconomicGrasp/OctFormer", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=octformer"], "slot": "backbone", "component": "OctFormer", "variant": "octformer", "verdict": "runs", "judge": 2, "config_hash": "569f9f58f51b637e", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=octformer -o encoder__EconomicGrasp__OctFormer.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__OctFormer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 45162886, "iterations": 20, "batch_size": 4, "grasps_per_frame": [493, 952], "frames": 8, "losses": {"loss/objectness": [0.7565, 0.6579], "loss/graspness": [0.8782, 0.2598], "loss/view": [2.176, 0.6606], "loss/angle": [3.549, 0.7795], "loss/depth": [1.532, 0.4221], "loss/score": [1.771, 0.6856], "loss/width": [0.823, 0.7421], "loss": [11.49, 4.208]}, "trend": {"loss/objectness": [0.7565, 0.6746, 0.108], "loss/graspness": [0.8782, 0.2704, 0.692], "loss/view": [2.176, 0.6557, 0.699], "loss/angle": [3.549, 0.7834, 0.779], "loss/depth": [1.532, 0.4225, 0.724], "loss/score": [1.771, 0.6718, 0.621], "loss/width": [0.823, 0.7781, 0.055], "loss": [11.49, 4.256, 0.629]}, "real_seeds": {"min": 0.988, "mean": 0.999, "zero_iterations": 0}, "supervised_seeds": {"min": 0.101, "mean": 0.12, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-1.093, -0.7962, -0.2467], [-1.173, -0.7671, -0.3578]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.28, "peak_gpu_mib": 2640.2, "seconds": 16.4}, "run": "2026-10-15@98e5310"},
  {"id": "encoder/FineGrasp/OctFormer", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=octformer"], "slot": "backbone", "component": "OctFormer", "variant": "octformer", "verdict": "runs", "judge": 2, "config_hash": "2bf718aa40cc9e9b", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=octformer -o encoder__FineGrasp__OctFormer.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__OctFormer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 48548033, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7097, 0.4518], "loss/graspness": [0.9713, 0.3201], "loss/view": [2.087, 0.622], "loss/angle": [3.519, 1.025], "loss/depth": [1.909, 0.5631], "loss/score": [1.357, 0.9065], "loss/width": [1.713, 0.9612], "loss": [12.27, 4.85]}, "trend": {"loss/objectness": [0.7097, 0.512, 0.279], "loss/graspness": [0.9713, 0.3301, 0.66], "loss/view": [2.087, 0.579, 0.723], "loss/angle": [3.519, 0.9692, 0.725], "loss/depth": [1.909, 0.4315, 0.774], "loss/score": [1.357, 0.8243, 0.393], "loss/width": [1.713, 0.905, 0.472], "loss": [12.27, 4.551, 0.629]}, "flags": {"loss/score": ["rising"]}, "real_seeds": {"min": 0.75, "mean": 0.96, "zero_iterations": 0}, "supervised_seeds": {"min": 0.051, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[-2.51, -2.51, -2.51], [-2.51, -2.51, -2.51]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.728, "peak_gpu_mib": 12402.5, "seconds": 49.9}, "run": "2026-10-15@98e5310"},
  {"id": "encoder/GraspNet-baseline/OctFormer", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=octformer"], "slot": "backbone", "component": "OctFormer", "variant": "octformer", "verdict": "runs", "judge": 2, "config_hash": "8a96d7884d1abeba", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=octformer -o encoder__GraspNet-baseline__OctFormer.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__OctFormer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 44399796, "iterations": 20, "batch_size": 2, "grasps_per_frame": [580, 641], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7224, 0.4825], "loss/view": [0.2307, 0.04889], "loss/score": [0.06066, 0.03625], "loss/angle": [0.5215, 0.4308], "loss/width": [0.5555, 0.1557], "loss/tolerance": [1.293, 0.4271], "loss": [3.383, 1.581]}, "trend": {"loss/objectness": [0.7224, 0.4949, 0.315], "loss/view": [0.2307, 0.04771, 0.793], "loss/score": [0.06066, 0.03306, 0.455], "loss/angle": [0.5215, 0.4136, 0.207], "loss/width": [0.5555, 0.1846, 0.668], "loss/tolerance": [1.293, 0.435, 0.663], "loss": [3.383, 1.609, 0.524]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-25.55, -1.027, 31.1], [-29.3, -1.172, 31.09]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.305, "peak_gpu_mib": 3852.3, "seconds": 16.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/OctFormer", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=octformer"], "slot": "backbone", "component": "OctFormer", "variant": "octformer", "verdict": "runs-empty", "judge": 2, "config_hash": "19694e3e8b7850a0", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=octformer -o encoder__Scale-Balanced-Grasp__OctFormer.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__OctFormer.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 44854132, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6799, 0.4122], "loss/view": [0.3453, 0.1026], "loss/score": [0.0468, 0.02233], "loss/angle": [0.5051, 0.4128], "loss/width": [0.5881, 0.08937], "loss/tolerance": [1.376, 0.1927], "loss": [3.541, 1.232]}, "trend": {"loss/objectness": [0.6799, 0.3846, 0.434], "loss/view": [0.3453, 0.118, 0.658], "loss/score": [0.0468, 0.01938, 0.586], "loss/angle": [0.5051, 0.4092, 0.19], "loss/width": [0.5881, 0.1125, 0.809], "loss/tolerance": [1.376, 0.2472, 0.82], "loss": [3.541, 1.291, 0.635]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.44, "peak_gpu_mib": 9302.1, "seconds": 18.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PTv3@ptv3-encoder", "group": "encoder", "method": "GSNet", "sets": ["backbone=ptv3-encoder"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-encoder", "verdict": "runs-unstable", "judge": 2, "config_hash": "64f03c13700180e6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3-encoder -o encoder__GSNet__PTv3@ptv3-encoder.yaml", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "probe": "grasppanda probe encoder__GSNet__PTv3@ptv3-encoder.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [1.124, 0.6366], "loss/graspness": [7.039, 2.998], "loss/view": [11.32, 0.8004], "loss/score": [0.8523, 0.08848], "loss/width": [1.973, 0.3082], "loss": [22.31, 4.832]}, "trend": {"loss/objectness": [1.124, 0.6657, 0.408], "loss/graspness": [7.039, 4.867, 0.309], "loss/view": [11.32, 0.4731, 0.958], "loss/score": [0.8523, 0.1037, 0.878], "loss/width": [1.973, 0.2809, 0.858], "loss": [22.31, 6.391, 0.714]}, "active": {"loss/view": 19, "loss/score": 19, "loss/width": 19}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.2002, 0.2972, 0.4221], [0.2123, 0.2921, 0.3845]]}, "schedule": "constant", "rate": 0.001, "parameters": 40358319, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [1.124, 0.6367], "loss/graspness": [7.039, 2.98], "loss/view": [11.32, 0.7573], "loss/score": [0.8523, 0.08742], "loss/width": [1.973, 0.2865], "loss": [22.31, 4.747]}, "trend": {"loss/objectness": [1.124, 0.6676, 0.406], "loss/graspness": [7.039, 4.852, 0.311], "loss/view": [11.32, 0.4687, 0.959], "loss/score": [0.8523, 0.1011, 0.881], "loss/width": [1.973, 0.27, 0.863], "loss": [22.31, 6.36, 0.715]}, "active": {"loss/view": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.0, "mean": 0.763, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.95, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.2214, 0.3575, 0.5639], [0.2189, 0.3822, 0.5021]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.305, "peak_gpu_mib": 2633.3, "seconds": 22.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PTv3@ptv3-ppt", "group": "encoder", "method": "GSNet", "sets": ["backbone=ptv3-ppt"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-ppt", "verdict": "runs", "judge": 2, "config_hash": "85cbd4d59a803ded", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3-ppt -o encoder__GSNet__PTv3@ptv3-ppt.yaml", "probe": "grasppanda probe encoder__GSNet__PTv3@ptv3-ppt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 37128939, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.703, 0.6659], "loss/graspness": [1.958, 0.2236], "loss/view": [1.723, 0.4508], "loss/score": [1.015, 0.07368], "loss/width": [3.182, 0.2176], "loss": [8.582, 1.632]}, "trend": {"loss/objectness": [0.703, 0.6747, 0.04], "loss/graspness": [1.958, 0.2233, 0.886], "loss/view": [1.723, 0.5072, 0.706], "loss/score": [1.015, 0.08109, 0.92], "loss/width": [3.182, 0.2155, 0.932], "loss": [8.582, 1.702, 0.802]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.016, "mean": 0.935, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [[0.1134, 0.2052, 0.3228], [0.1097, 0.2051, 0.3276]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.783, "peak_gpu_mib": 3657.6, "seconds": 63.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PTv3@ptv3-scannet200", "group": "encoder", "method": "GSNet", "sets": ["backbone=ptv3-scannet200"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-scannet200", "verdict": "runs", "judge": 2, "config_hash": "bb4ecb18d174764f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3-scannet200 -o encoder__GSNet__PTv3@ptv3-scannet200.yaml", "probe": "grasppanda probe encoder__GSNet__PTv3@ptv3-scannet200.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 46352303, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.8662, 0.6709], "loss/graspness": [6.251, 0.4223], "loss/view": [3.868, 0.5227], "loss/score": [0.7836, 0.1081], "loss/width": [4.665, 0.2541], "loss": [16.43, 1.978]}, "trend": {"loss/objectness": [0.8662, 0.68, 0.215], "loss/graspness": [6.251, 0.3645, 0.942], "loss/view": [3.868, 0.537, 0.861], "loss/score": [0.7836, 0.123, 0.843], "loss/width": [4.665, 0.2971, 0.936], "loss": [16.43, 2.002, 0.878]}, "real_seeds": {"min": 0.103, "mean": 0.79, "zero_iterations": 0}, "supervised_seeds": {"min": 0.75, "mean": 0.988, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [[0.2311, 0.3157, 0.3697], [0.1841, 0.2392, 0.3011]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.766, "peak_gpu_mib": 2805.7, "seconds": 42.4}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PTv3@ptv3", "group": "encoder", "method": "GSNet", "sets": ["backbone=ptv3"], "slot": "backbone", "component": "PTv3", "variant": "ptv3", "verdict": "runs", "judge": 2, "config_hash": "a032384bbaf8d9af", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3 -o encoder__GSNet__PTv3@ptv3.yaml", "probe": "grasppanda probe encoder__GSNet__PTv3@ptv3.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 46352303, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.8866, 0.5754], "loss/graspness": [4.963, 0.281], "loss/view": [6.634, 0.5879], "loss/score": [1.168, 0.07017], "loss/width": [3.149, 0.2174], "loss": [16.8, 1.732]}, "trend": {"loss/objectness": [0.8866, 0.605, 0.318], "loss/graspness": [4.963, 0.3453, 0.93], "loss/view": [6.634, 0.6278, 0.905], "loss/score": [1.168, 0.09286, 0.921], "loss/width": [3.149, 0.2225, 0.929], "loss": [16.8, 1.893, 0.887]}, "real_seeds": {"min": 0.354, "mean": 0.955, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [[0.1568, 0.2932, 0.4772], [0.1487, 0.3023, 0.5228]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.3, "peak_gpu_mib": 2807.2, "seconds": 24.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PTv3@ptv3-encoder", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=ptv3-encoder"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-encoder", "verdict": "runs-unstable", "judge": 2, "config_hash": "42f0ee25f5d0ba37", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-encoder -o encoder__EconomicGrasp__PTv3@ptv3-encoder.yaml", "unstable": "2 of 20 iterations had no real seed (iteration 3, 5).", "probe": "grasppanda probe encoder__EconomicGrasp__PTv3@ptv3-encoder.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 3, 5).", "judge": 2, "iterations": 20, "grasps_per_frame": [475, 252], "losses": {"loss/objectness": [1.149, 0.6269], "loss/graspness": [6.588, 3.337], "loss/view": [11.74, 0.6917], "loss/angle": [2.243, 0.7706], "loss/depth": [1.872, 0.3816], "loss/score": [1.586, 0.6577], "loss/width": [1.308, 0.7087], "loss": [26.48, 7.174]}, "trend": {"loss/objectness": [1.149, 0.6719, 0.415], "loss/graspness": [6.588, 3.43, 0.479], "loss/view": [11.74, 0.8116, 0.931], "loss/angle": [2.243, 0.7422, 0.669], "loss/depth": [1.872, 0.4087, 0.782], "loss/score": [1.586, 0.6469, 0.592], "loss/width": [1.308, 0.9437, 0.279], "loss": [26.48, 7.655, 0.711]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.374, -2.037, -1.75], [-2.168, -1.82, -1.704]]}, "schedule": "constant", "rate": 0.001, "parameters": 40754782, "iterations": 20, "batch_size": 4, "grasps_per_frame": [20, 32], "frames": 8, "losses": {"loss/objectness": [1.149, 0.6273], "loss/graspness": [6.588, 3.705], "loss/view": [11.74, 0.6939], "loss/angle": [2.243, 0.7663], "loss/depth": [1.872, 0.4337], "loss/score": [1.586, 0.667], "loss/width": [1.308, 0.6958], "loss": [26.48, 7.589]}, "trend": {"loss/objectness": [1.149, 0.6757, 0.412], "loss/graspness": [6.588, 3.459, 0.475], "loss/view": [11.74, 0.8119, 0.931], "loss/angle": [2.243, 0.754, 0.664], "loss/depth": [1.872, 0.4224, 0.774], "loss/score": [1.586, 0.6588, 0.585], "loss/width": [1.308, 0.9088, 0.305], "loss": [26.48, 7.691, 0.71]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "real_seeds": {"min": 0.0, "mean": 0.787, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.156, "zero_iterations": 2}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.258, -1.987, -1.856], [-1.992, -1.896, -1.732]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.214, "peak_gpu_mib": 2896.4, "seconds": 23.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PTv3@ptv3-ppt", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=ptv3-ppt"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-ppt", "verdict": "runs", "judge": 2, "config_hash": "6a422d656152036b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-ppt -o encoder__EconomicGrasp__PTv3@ptv3-ppt.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PTv3@ptv3-ppt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 37525402, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7125, 0.6772], "loss/graspness": [1.78, 0.2434], "loss/view": [1.622, 0.8431], "loss/angle": [3.282, 0.8488], "loss/depth": [1.338, 0.4447], "loss/score": [1.126, 0.7057], "loss/width": [1.331, 0.7557], "loss": [11.19, 4.519]}, "trend": {"loss/objectness": [0.7125, 0.6823, 0.042], "loss/graspness": [1.78, 0.2435, 0.863], "loss/view": [1.622, 0.8454, 0.479], "loss/angle": [3.282, 0.7211, 0.78], "loss/depth": [1.338, 0.3995, 0.702], "loss/score": [1.126, 0.6155, 0.453], "loss/width": [1.331, 0.7087, 0.467], "loss": [11.19, 4.216, 0.623]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.051, "mean": 0.93, "zero_iterations": 0}, "supervised_seeds": {"min": 0.001, "mean": 0.109, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-2.447, -2.208, -1.923], [-2.509, -2.233, -1.807]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.897, "peak_gpu_mib": 3958.4, "seconds": 60.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PTv3@ptv3-scannet200", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=ptv3-scannet200"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-scannet200", "verdict": "runs-empty", "judge": 2, "config_hash": "3c7d9e398104034b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-scannet200 -o encoder__EconomicGrasp__PTv3@ptv3-scannet200.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PTv3@ptv3-scannet200.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 46748766, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7955, 0.6841], "loss/graspness": [7.191, 0.2878], "loss/view": [5.78, 0.8856], "loss/angle": [3.029, 0.6505], "loss/depth": [1.361, 0.3519], "loss/score": [2.428, 0.5494], "loss/width": [0.7369, 0.7891], "loss": [21.32, 4.198]}, "trend": {"loss/objectness": [0.7955, 0.6909, 0.131], "loss/graspness": [7.191, 0.313, 0.956], "loss/view": [5.78, 0.9101, 0.843], "loss/angle": [3.029, 0.6839, 0.774], "loss/depth": [1.361, 0.3722, 0.727], "loss/score": [2.428, 0.5837, 0.76], "loss/width": [0.7369, 0.8132, -0.104], "loss": [21.32, 4.367, 0.795]}, "real_seeds": {"min": 0.264, "mean": 0.902, "zero_iterations": 0}, "supervised_seeds": {"min": 0.009, "mean": 0.131, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.736, "peak_gpu_mib": 3042.9, "seconds": 39.4}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PTv3@ptv3", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=ptv3"], "slot": "backbone", "component": "PTv3", "variant": "ptv3", "verdict": "runs", "judge": 2, "config_hash": "96d7bb210dff0577", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3 -o encoder__EconomicGrasp__PTv3@ptv3.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PTv3@ptv3.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 46748766, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.8846, 0.6197], "loss/graspness": [5.29, 0.2713], "loss/view": [7.263, 0.8681], "loss/angle": [2.67, 0.6676], "loss/depth": [1.423, 0.3504], "loss/score": [2.52, 0.5877], "loss/width": [0.9439, 0.6481], "loss": [20.99, 4.013]}, "trend": {"loss/objectness": [0.8846, 0.6481, 0.267], "loss/graspness": [5.29, 0.357, 0.933], "loss/view": [7.263, 0.9095, 0.875], "loss/angle": [2.67, 0.7154, 0.732], "loss/depth": [1.423, 0.4, 0.719], "loss/score": [2.52, 0.6299, 0.75], "loss/width": [0.9439, 0.7019, 0.256], "loss": [20.99, 4.362, 0.792]}, "real_seeds": {"min": 0.916, "mean": 0.992, "zero_iterations": 0}, "supervised_seeds": {"min": 0.081, "mean": 0.152, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-1.655, -1.212, -0.8041], [-1.557, -1.261, -0.5784]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.298, "peak_gpu_mib": 3042.9, "seconds": 28.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PTv3@ptv3-encoder", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=ptv3-encoder"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-encoder", "verdict": "runs-unstable", "judge": 2, "config_hash": "3bfaaa7167b7b500", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-encoder -o encoder__FineGrasp__PTv3@ptv3-encoder.yaml", "fitted": ["in_channels: 6"], "unstable": "4 of 20 iterations had no real seed (iteration 4, 5, 10, 11). No grasp was predicted on any probed frame.", "probe": "grasppanda probe encoder__FineGrasp__PTv3@ptv3-encoder.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "4 of 20 iterations had no real seed (iteration 4, 5, 10, 11).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.9728, 3.663], "loss/graspness": [7.637, 4.313], "loss/view": [10.59, 0.8865], "loss/angle": [3.254, 0.6949], "loss/depth": [1.753, 0.3507], "loss/score": [2.152, 0.6008], "loss/width": [1.347, 1.331], "loss": [27.7, 11.84]}, "trend": {"loss/objectness": [0.9728, 5.02, -4.161], "loss/graspness": [7.637, 9.049, -0.185], "loss/view": [10.59, 0.905, 0.915], "loss/angle": [3.254, 0.709, 0.782], "loss/depth": [1.753, 0.3828, 0.782], "loss/score": [2.152, 0.6013, 0.721], "loss/width": [1.347, 0.9978, 0.259], "loss": [27.7, 17.65, 0.363]}, "active": {"loss/view": 16, "loss/angle": 15, "loss/depth": 15, "loss/score": 15, "loss/width": 15}, "flags": {"loss/objectness": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[-3.938, -3.938, -3.938], [-3.938, -3.938, -3.938]]}, "schedule": "constant", "rate": 0.002, "parameters": 44518625, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.9728, 6.117], "loss/graspness": [7.637, 2.602], "loss/view": [10.59, 5.039], "loss/angle": [3.254, 1.243], "loss/depth": [1.753, 0.1896], "loss/score": [2.152, 1.052], "loss/width": [1.347, 0.5797], "loss": [27.7, 16.82]}, "trend": {"loss/objectness": [0.9728, 2.488, -1.558], "loss/graspness": [7.637, 9.265, -0.213], "loss/view": [10.59, 1.971, 0.814], "loss/angle": [3.254, 0.8574, 0.737], "loss/depth": [1.753, 0.3659, 0.791], "loss/score": [2.152, 0.7278, 0.662], "loss/width": [1.347, 0.7208, 0.465], "loss": [27.7, 16.24, 0.414]}, "active": {"loss/view": 16, "loss/angle": 15, "loss/depth": 15, "loss/score": 15, "loss/width": 15}, "flags": {"loss/objectness": ["rising"]}, "real_seeds": {"min": 0.0, "mean": 0.699, "zero_iterations": 4}, "supervised_seeds": {"min": 0.0, "mean": 0.095, "zero_iterations": 5}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.89, "peak_gpu_mib": 13708.3, "seconds": 72.8}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PTv3@ptv3-ppt", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=ptv3-ppt"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-ppt", "verdict": "runs", "judge": 2, "config_hash": "b78eab3c4b22be50", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-ppt -o encoder__FineGrasp__PTv3@ptv3-ppt.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PTv3@ptv3-ppt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 40576541, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.68, 0.2388], "loss/graspness": [0.8639, 0.1508], "loss/view": [1.991, 0.8872], "loss/angle": [2.828, 0.933], "loss/depth": [1.869, 0.4877], "loss/score": [1.27, 0.8129], "loss/width": [1.695, 0.7124], "loss": [11.2, 4.223]}, "trend": {"loss/objectness": [0.68, 0.271, 0.601], "loss/graspness": [0.8639, 0.1641, 0.81], "loss/view": [1.991, 0.905, 0.545], "loss/angle": [2.828, 0.9035, 0.68], "loss/depth": [1.869, 0.4886, 0.739], "loss/score": [1.27, 0.7706, 0.393], "loss/width": [1.695, 0.7231, 0.573], "loss": [11.2, 4.226, 0.623]}, "real_seeds": {"min": 0.515, "mean": 0.97, "zero_iterations": 0}, "supervised_seeds": {"min": 0.091, "mean": 0.241, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.414, -2.413, -2.413], [-2.414, -2.413, -2.413]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 4.811, "peak_gpu_mib": 14295.5, "seconds": 149.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PTv3@ptv3-scannet200", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=ptv3-scannet200"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-scannet200", "verdict": "runs-unstable", "judge": 2, "config_hash": "e860e01f9738bffe", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-scannet200 -o encoder__FineGrasp__PTv3@ptv3-scannet200.yaml", "fitted": ["in_channels: 6"], "unstable": "3 of 20 iterations had no real seed (iteration 2, 14, 15).", "probe": "grasppanda probe encoder__FineGrasp__PTv3@ptv3-scannet200.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 2, 15).", "judge": 2, "iterations": 20, "grasps_per_frame": [965, 1024], "losses": {"loss/objectness": [0.9588, 0.6712], "loss/graspness": [10.31, 0.333], "loss/view": [7.019, 1.145], "loss/angle": [2.405, 0.9996], "loss/depth": [1.57, 0.6264], "loss/score": [1.765, 0.8607], "loss/width": [1.293, 0.7749], "loss": [25.32, 5.411]}, "trend": {"loss/objectness": [0.9588, 0.666, 0.305], "loss/graspness": [10.31, 0.3935, 0.962], "loss/view": [7.019, 0.9212, 0.869], "loss/angle": [2.405, 0.7922, 0.671], "loss/depth": [1.57, 0.4677, 0.702], "loss/score": [1.765, 0.6706, 0.62], "loss/width": [1.293, 0.872, 0.326], "loss": [25.32, 4.783, 0.811]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-3.629, -3.629, -3.628], [-3.629, -3.629, -3.628]]}, "schedule": "constant", "rate": 0.002, "parameters": 49799905, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.9588, 0.6659], "loss/graspness": [10.31, 0.306], "loss/view": [7.019, 0.7518], "loss/angle": [2.405, 0.811], "loss/depth": [1.57, 0.4593], "loss/score": [1.765, 0.6886], "loss/width": [1.293, 1.182], "loss": [25.32, 4.864]}, "trend": {"loss/objectness": [0.9588, 0.6641, 0.307], "loss/graspness": [10.31, 0.54, 0.948], "loss/view": [7.019, 0.9564, 0.864], "loss/angle": [2.405, 0.8036, 0.666], "loss/depth": [1.57, 0.4673, 0.702], "loss/score": [1.765, 0.6984, 0.604], "loss/width": [1.293, 1.002, 0.225], "loss": [25.32, 5.132, 0.797]}, "active": {"loss/view": 17, "loss/angle": 17, "loss/depth": 17, "loss/score": 17, "loss/width": 17}, "real_seeds": {"min": 0.0, "mean": 0.735, "zero_iterations": 3}, "supervised_seeds": {"min": 0.0, "mean": 0.097, "zero_iterations": 3}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-3.315, -3.314, -3.314], [-3.315, -3.314, -3.314]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.235, "peak_gpu_mib": 12453.6, "seconds": 86.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PTv3@ptv3", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=ptv3"], "slot": "backbone", "component": "PTv3", "variant": "ptv3", "verdict": "runs", "judge": 2, "config_hash": "531467f10a297a96", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3 -o encoder__FineGrasp__PTv3@ptv3.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PTv3@ptv3.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 49799905, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8121, 0.5008], "loss/graspness": [4.812, 0.3126], "loss/view": [11.27, 1.2], "loss/angle": [2.431, 0.8461], "loss/depth": [1.565, 0.4766], "loss/score": [1.588, 0.7274], "loss/width": [1.017, 0.7079], "loss": [23.5, 4.771]}, "trend": {"loss/objectness": [0.8121, 0.5514, 0.321], "loss/graspness": [4.812, 0.2674, 0.944], "loss/view": [11.27, 0.9848, 0.913], "loss/angle": [2.431, 0.7652, 0.685], "loss/depth": [1.565, 0.4279, 0.727], "loss/score": [1.588, 0.6572, 0.586], "loss/width": [1.017, 0.6894, 0.322], "loss": [23.5, 4.343, 0.815]}, "real_seeds": {"min": 0.692, "mean": 0.982, "zero_iterations": 0}, "supervised_seeds": {"min": 0.047, "mean": 0.17, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-3.634, -3.634, -3.633], [-3.634, -3.634, -3.633]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.501, "peak_gpu_mib": 12453.5, "seconds": 77.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PTv3@ptv3-encoder", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=ptv3-encoder"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-encoder", "verdict": "runs", "judge": 2, "config_hash": "352398f792576f9d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3-encoder -o encoder__GraspNet-baseline__PTv3@ptv3-encoder.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PTv3@ptv3-encoder.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 40187756, "iterations": 20, "batch_size": 2, "grasps_per_frame": [706, 674], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7345, 0.4116], "loss/view": [0.2056, 0.04591], "loss/score": [0.07137, 0.02791], "loss/angle": [0.4898, 0.4561], "loss/width": [0.5875, 0.1552], "loss/tolerance": [1.222, 0.301], "loss": [3.311, 1.398]}, "trend": {"loss/objectness": [0.7345, 0.5009, 0.318], "loss/view": [0.2056, 0.04821, 0.766], "loss/score": [0.07137, 0.03112, 0.564], "loss/angle": [0.4898, 0.4521, 0.077], "loss/width": [0.5875, 0.1931, 0.671], "loss/tolerance": [1.222, 0.3712, 0.696], "loss": [3.311, 1.597, 0.518]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-24.56, 0.2688, 28.8], [-18.25, 0.2811, 22.96]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.218, "peak_gpu_mib": 3836.1, "seconds": 18.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PTv3@ptv3-ppt", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=ptv3-ppt"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-ppt", "verdict": "runs", "judge": 2, "config_hash": "308cff41c29d7d11", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3-ppt -o encoder__GraspNet-baseline__PTv3@ptv3-ppt.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PTv3@ptv3-ppt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 37195016, "iterations": 20, "batch_size": 2, "grasps_per_frame": [322, 335], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7093, 0.3061], "loss/view": [0.2032, 0.04079], "loss/score": [0.08347, 0.03034], "loss/angle": [0.4974, 0.4282], "loss/width": [0.4668, 0.167], "loss/tolerance": [1.137, 0.3638], "loss": [3.097, 1.336]}, "trend": {"loss/objectness": [0.7093, 0.3991, 0.437], "loss/view": [0.2032, 0.04392, 0.784], "loss/score": [0.08347, 0.02678, 0.679], "loss/angle": [0.4974, 0.4264, 0.143], "loss/width": [0.4668, 0.1761, 0.623], "loss/tolerance": [1.137, 0.431, 0.621], "loss": [3.097, 1.503, 0.515]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-18.73, -0.4081, 6.903], [-20.67, -0.6535, 8.494]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.332, "peak_gpu_mib": 4663.4, "seconds": 39.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PTv3@ptv3-scannet200", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=ptv3-scannet200"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-scannet200", "verdict": "runs", "judge": 2, "config_hash": "cbedfc6a3ee0c2b6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3-scannet200 -o encoder__GraspNet-baseline__PTv3@ptv3-scannet200.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PTv3@ptv3-scannet200.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 46418380, "iterations": 20, "batch_size": 2, "grasps_per_frame": [493, 466], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7299, 0.3203], "loss/view": [0.2168, 0.04554], "loss/score": [0.06962, 0.04136], "loss/angle": [0.541, 0.4629], "loss/width": [0.4876, 0.1492], "loss/tolerance": [0.815, 0.3887], "loss": [2.86, 1.408]}, "trend": {"loss/objectness": [0.7299, 0.4069, 0.442], "loss/view": [0.2168, 0.04924, 0.773], "loss/score": [0.06962, 0.03713, 0.467], "loss/angle": [0.541, 0.4394, 0.188], "loss/width": [0.4876, 0.1676, 0.656], "loss/tolerance": [0.815, 0.4001, 0.509], "loss": [2.86, 1.5, 0.475]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-22.88, -0.9108, 38.77], [-24.86, -0.7924, 28.16]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.557, "peak_gpu_mib": 4235.9, "seconds": 28.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PTv3@ptv3", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=ptv3"], "slot": "backbone", "component": "PTv3", "variant": "ptv3", "verdict": "runs", "judge": 2, "config_hash": "147c5d6fd28d313a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3 -o encoder__GraspNet-baseline__PTv3@ptv3.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PTv3@ptv3.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 46418380, "iterations": 20, "batch_size": 2, "grasps_per_frame": [455, 448], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7379, 0.3441], "loss/view": [0.2098, 0.05236], "loss/score": [0.07834, 0.02965], "loss/angle": [0.525, 0.4479], "loss/width": [0.491, 0.1565], "loss/tolerance": [1.145, 0.3596], "loss": [3.187, 1.39]}, "trend": {"loss/objectness": [0.7379, 0.4196, 0.431], "loss/view": [0.2098, 0.05491, 0.738], "loss/score": [0.07834, 0.03237, 0.587], "loss/angle": [0.525, 0.4386, 0.165], "loss/width": [0.491, 0.1793, 0.635], "loss/tolerance": [1.145, 0.4059, 0.646], "loss": [3.187, 1.531, 0.52]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-17.55, 0.5775, 32.76], [-16.68, 0.364, 24.01]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.342, "peak_gpu_mib": 4235.9, "seconds": 20.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PTv3@ptv3-encoder", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3-encoder"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-encoder", "verdict": "runs", "judge": 2, "config_hash": "29bb35297b0cd716", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3-encoder -o encoder__Scale-Balanced-Grasp__PTv3@ptv3-encoder.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PTv3@ptv3-encoder.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 40896300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [22, 28], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6913, 0.2678], "loss/view": [0.2912, 0.09366], "loss/score": [0.04762, 0.02049], "loss/angle": [0.5199, 0.4546], "loss/width": [0.5446, 0.04878], "loss/tolerance": [1.196, 0.1733], "loss": [3.291, 1.059]}, "trend": {"loss/objectness": [0.6913, 0.2736, 0.604], "loss/view": [0.2912, 0.1057, 0.637], "loss/score": [0.04762, 0.01845, 0.613], "loss/angle": [0.5199, 0.4416, 0.151], "loss/width": [0.5446, 0.06735, 0.876], "loss/tolerance": [1.196, 0.1967, 0.836], "loss": [3.291, 1.103, 0.665]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-3.328, -1.194, 0.1384], [-2.581, -0.8953, 0.4157]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.37, "peak_gpu_mib": 9290.7, "seconds": 22.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PTv3@ptv3-ppt", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3-ppt"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-ppt", "verdict": "runs", "judge": 2, "config_hash": "641dddc96d0fda59", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3-ppt -o encoder__Scale-Balanced-Grasp__PTv3@ptv3-ppt.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PTv3@ptv3-ppt.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 37665992, "iterations": 20, "batch_size": 2, "grasps_per_frame": [24, 34], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6437, 0.2598], "loss/view": [0.267, 0.09643], "loss/score": [0.04801, 0.02155], "loss/angle": [0.5275, 0.4277], "loss/width": [0.5598, 0.0853], "loss/tolerance": [1.124, 0.2031], "loss": [3.17, 1.094]}, "trend": {"loss/objectness": [0.6437, 0.2598, 0.596], "loss/view": [0.267, 0.1119, 0.581], "loss/score": [0.04801, 0.0172, 0.642], "loss/angle": [0.5275, 0.4162, 0.211], "loss/width": [0.5598, 0.1022, 0.817], "loss/tolerance": [1.124, 0.2475, 0.78], "loss": [3.17, 1.155, 0.636]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-2.372, 0.6424, 4.49], [-10.86, 0.2566, 4.633]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.58, "peak_gpu_mib": 10120.1, "seconds": 45.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PTv3@ptv3-scannet200", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3-scannet200"], "slot": "backbone", "component": "PTv3", "variant": "ptv3-scannet200", "verdict": "runs-empty", "judge": 2, "config_hash": "ef8e730972671951", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3-scannet200 -o encoder__Scale-Balanced-Grasp__PTv3@ptv3-scannet200.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PTv3@ptv3-scannet200.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 46889356, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.5952, 0.3295], "loss/view": [0.2903, 0.1095], "loss/score": [0.04881, 0.02114], "loss/angle": [0.5452, 0.4439], "loss/width": [0.4242, 0.08876], "loss/tolerance": [0.9559, 0.2227], "loss": [2.86, 1.215]}, "trend": {"loss/objectness": [0.5952, 0.3245, 0.455], "loss/view": [0.2903, 0.1254, 0.568], "loss/score": [0.04881, 0.01673, 0.657], "loss/angle": [0.5452, 0.4377, 0.197], "loss/width": [0.4242, 0.09695, 0.771], "loss/tolerance": [0.9559, 0.2611, 0.727], "loss": [2.86, 1.262, 0.559]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.837, "peak_gpu_mib": 9688.4, "seconds": 33.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PTv3@ptv3", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3"], "slot": "backbone", "component": "PTv3", "variant": "ptv3", "verdict": "runs", "judge": 2, "config_hash": "7f9112c56063c53b", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3 -o encoder__Scale-Balanced-Grasp__PTv3@ptv3.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PTv3@ptv3.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 46889356, "iterations": 20, "batch_size": 2, "grasps_per_frame": [8, 21], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.5906, 0.3049], "loss/view": [0.301, 0.1203], "loss/score": [0.05654, 0.0203], "loss/angle": [0.5059, 0.4618], "loss/width": [0.4389, 0.1023], "loss/tolerance": [0.8368, 0.2328], "loss": [2.73, 1.242]}, "trend": {"loss/objectness": [0.5906, 0.318, 0.462], "loss/view": [0.301, 0.1377, 0.542], "loss/score": [0.05654, 0.02027, 0.642], "loss/angle": [0.5059, 0.4417, 0.127], "loss/width": [0.4389, 0.1242, 0.717], "loss/tolerance": [0.8368, 0.2604, 0.689], "loss": [2.73, 1.302, 0.523]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-3.393, -0.9092, 3.269], [-3.385, 0.3925, 11.97]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.482, "peak_gpu_mib": 9688.4, "seconds": 24.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PTv3Sonata@ptv3-sonata-small", "group": "encoder", "method": "GSNet", "sets": ["backbone=ptv3-sonata-small"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata-small", "verdict": "runs-unstable", "judge": 2, "config_hash": "126fee8ba2cbe005", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3-sonata-small -o encoder__GSNet__PTv3Sonata@ptv3-sonata-small.yaml", "unstable": "5 of 20 iterations had no real seed (iteration 3, 6, 7, 11, 17).", "probe": "grasppanda probe encoder__GSNet__PTv3Sonata@ptv3-sonata-small.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "5 of 20 iterations had no real seed (iteration 3, 6, 7, 11, 17).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.7109, 0.6103], "loss/graspness": [0.4648, 0.7938], "loss/view": [0.8149, 0.503], "loss/score": [0.4914, 0.1249], "loss/width": [2.981, 0.3177], "loss": [5.463, 2.35]}, "trend": {"loss/objectness": [0.7109, 0.6103, 0.142], "loss/graspness": [0.4648, 0.6229, -0.34], "loss/view": [0.8149, 0.9436, -0.158], "loss/score": [0.4914, 0.1097, 0.777], "loss/width": [2.981, 0.504, 0.831], "loss": [5.463, 2.479, 0.546]}, "active": {"loss/view": 15, "loss/score": 15, "loss/width": 15}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.1366, 0.1972, 0.3081], [0.111, 0.1914, 0.268]]}, "schedule": "constant", "rate": 0.001, "parameters": 40346479, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7109, 0.6105], "loss/graspness": [0.4648, 0.796], "loss/view": [0.8149, 0.5157], "loss/score": [0.4914, 0.1392], "loss/width": [2.981, 0.2829], "loss": [5.463, 2.344]}, "trend": {"loss/objectness": [0.7109, 0.609, 0.143], "loss/graspness": [0.4648, 0.621, -0.336], "loss/view": [0.8149, 0.9649, -0.184], "loss/score": [0.4914, 0.1289, 0.738], "loss/width": [2.981, 0.5222, 0.825], "loss": [5.463, 2.523, 0.538]}, "active": {"loss/view": 15, "loss/score": 15, "loss/width": 15}, "real_seeds": {"min": 0.0, "mean": 0.518, "zero_iterations": 5}, "supervised_seeds": {"min": 0.0, "mean": 0.688, "zero_iterations": 5}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.1077, 0.1969, 0.2489], [0.115, 0.1802, 0.239]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.284, "peak_gpu_mib": 2606.6, "seconds": 25.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PTv3Sonata@ptv3-sonata", "group": "encoder", "method": "GSNet", "sets": ["backbone=ptv3-sonata"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata", "verdict": "runs-unstable", "judge": 2, "config_hash": "260f3ba95985de10", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3-sonata -o encoder__GSNet__PTv3Sonata@ptv3-sonata.yaml", "unstable": "7 of 20 iterations had no real seed (iteration 4, 5, 11, 13, 14, 19 ...).", "probe": "grasppanda probe encoder__GSNet__PTv3Sonata@ptv3-sonata.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "6 of 20 iterations had no real seed (iteration 4, 5, 10, 12, 13, 20). No grasp was predicted on any probed frame.", "judge": 2, "iterations": 20, "grasps_per_frame": [0, 0], "losses": {"loss/objectness": [1.005, 3.061], "loss/graspness": [8.883, 46.17], "loss/view": [16.67, -0.0], "loss/score": [1.067, -0.0], "loss/width": [3.051, 0.0], "loss": [30.68, 49.23]}, "trend": {"loss/objectness": [1.005, 2.984, -1.97], "loss/graspness": [8.883, 29.58, -2.33], "loss/view": [16.67, 0.6274, 0.962], "loss/score": [1.067, 0.1653, 0.845], "loss/width": [3.051, 0.3957, 0.87], "loss": [30.68, 33.52, -0.093]}, "active": {"loss/view": 14, "loss/score": 14, "loss/width": 14}, "flags": {"loss/objectness": ["rising"], "loss/view": ["zero_at_end"], "loss/score": ["zero_at_end"], "loss/width": ["zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null]}, "schedule": "constant", "rate": 0.001, "parameters": 110826927, "iterations": 20, "batch_size": 4, "grasps_per_frame": [240, 170], "frames": 8, "losses": {"loss/objectness": [1.005, 2.259], "loss/graspness": [8.883, 2.688], "loss/view": [16.67, 0.0], "loss/score": [1.067, -0.0], "loss/width": [3.051, 0.0], "loss": [30.68, 4.947]}, "trend": {"loss/objectness": [1.005, 1.913, -0.904], "loss/graspness": [8.883, 8.813, 0.008], "loss/view": [16.67, 0.7815, 0.953], "loss/score": [1.067, 0.1894, 0.822], "loss/width": [3.051, 0.3798, 0.876], "loss": [30.68, 11.42, 0.628]}, "active": {"loss/view": 13, "loss/score": 13, "loss/width": 12}, "flags": {"loss/graspness": ["flat"], "loss/view": ["zero_at_end"], "loss/score": ["zero_at_end"], "loss/width": ["zero_at_end"]}, "real_seeds": {"min": 0.0, "mean": 0.477, "zero_iterations": 7}, "supervised_seeds": {"min": 0.0, "mean": 0.537, "zero_iterations": 7}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.351, 0.383, 0.3964], [0.347, 0.3779, 0.4062]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.441, "peak_gpu_mib": 4280.1, "seconds": 27.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PTv3Sonata@ptv3-sonata-small", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=ptv3-sonata-small"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata-small", "verdict": "runs-unstable", "judge": 2, "config_hash": "052dec66eb5f7e36", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-sonata-small -o encoder__EconomicGrasp__PTv3Sonata@ptv3-sonata-small.yaml", "unstable": "2 of 20 iterations had no real seed (iteration 3, 6). No grasp was predicted on any probed frame.", "probe": "grasppanda probe encoder__EconomicGrasp__PTv3Sonata@ptv3-sonata-small.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "3 of 20 iterations had no real seed (iteration 3, 6, 11). No grasp was predicted on any probed frame.", "judge": 2, "iterations": 20, "grasps_per_frame": [0, 0], "losses": {"loss/objectness": [0.714, 0.6127], "loss/graspness": [0.491, 0.2241], "loss/view": [1.492, 0.9375], "loss/angle": [3.438, 0.8543], "loss/depth": [1.312, 0.4651], "loss/score": [1.659, 0.7316], "loss/width": [2.157, 0.807], "loss": [11.26, 4.632]}, "trend": {"loss/objectness": [0.714, 0.6007, 0.159], "loss/graspness": [0.491, 0.401, 0.183], "loss/view": [1.492, 1.084, 0.273], "loss/angle": [3.438, 0.8252, 0.76], "loss/depth": [1.312, 0.4425, 0.663], "loss/score": [1.659, 0.6933, 0.582], "loss/width": [2.157, 0.7492, 0.653], "loss": [11.26, 4.767, 0.577]}, "active": {"loss/view": 17, "loss/angle": 16, "loss/depth": 16, "loss/score": 16, "loss/width": 16}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null]}, "schedule": "constant", "rate": 0.001, "parameters": 40742942, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.714, 0.6215], "loss/graspness": [0.491, 0.2695], "loss/view": [1.492, 0.9985], "loss/angle": [3.438, 0.8649], "loss/depth": [1.312, 0.4167], "loss/score": [1.659, 0.7043], "loss/width": [2.157, 0.7395], "loss": [11.26, 4.615]}, "trend": {"loss/objectness": [0.714, 0.6065, 0.15], "loss/graspness": [0.491, 0.389, 0.208], "loss/view": [1.492, 1.005, 0.327], "loss/angle": [3.438, 0.8258, 0.76], "loss/depth": [1.312, 0.4325, 0.67], "loss/score": [1.659, 0.6621, 0.601], "loss/width": [2.157, 0.7473, 0.654], "loss": [11.26, 4.668, 0.586]}, "active": {"loss/view": 18, "loss/angle": 17, "loss/depth": 17, "loss/score": 17, "loss/width": 17}, "real_seeds": {"min": 0.0, "mean": 0.725, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.135, "zero_iterations": 3}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.346, "peak_gpu_mib": 2862.6, "seconds": 24.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PTv3Sonata@ptv3-sonata", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=ptv3-sonata"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata", "verdict": "runs-unstable", "judge": 2, "config_hash": "46dc21aa84450f22", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-sonata -o encoder__EconomicGrasp__PTv3Sonata@ptv3-sonata.yaml", "unstable": "7 of 20 iterations had no real seed (iteration 4, 5, 7, 10, 11, 15 ...). No grasp was predicted on any probed frame.", "probe": "grasppanda probe encoder__EconomicGrasp__PTv3Sonata@ptv3-sonata.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "6 of 20 iterations had no real seed (iteration 4, 5, 7, 11, 12, 13).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.9906, 0.6944], "loss/graspness": [7.608, 33.46], "loss/view": [17.2, 0.716], "loss/angle": [2.49, 0.7105], "loss/depth": [2.143, 0.3683], "loss/score": [1.632, 0.5965], "loss/width": [1.366, 0.8063], "loss": [33.43, 37.35]}, "trend": {"loss/objectness": [0.9906, 1.046, -0.056], "loss/graspness": [7.608, 34.4, -3.522], "loss/view": [17.2, 0.5452, 0.968], "loss/angle": [2.49, 0.7399, 0.703], "loss/depth": [2.143, 0.4819, 0.775], "loss/score": [1.632, 0.6596, 0.596], "loss/width": [1.366, 2.224, -0.628], "loss": [33.43, 38.53, -0.152]}, "active": {"loss/view": 14, "loss/angle": 12, "loss/depth": 12, "loss/score": 12, "loss/width": 12}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.396, -2.266, -2.121], [-2.456, -2.276, -2.115]]}, "schedule": "constant", "rate": 0.001, "parameters": 111223390, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.9906, 2.377], "loss/graspness": [7.608, 56.65], "loss/view": [17.2, 2.301], "loss/angle": [2.49, 0.4679], "loss/depth": [2.143, 0.206], "loss/score": [1.632, 0.4333], "loss/width": [1.366, 0.7766], "loss": [33.43, 63.21]}, "trend": {"loss/objectness": [0.9906, 1.168, -0.18], "loss/graspness": [7.608, 44.87, -4.897], "loss/view": [17.2, 1.245, 0.928], "loss/angle": [2.49, 0.6918, 0.722], "loss/depth": [2.143, 0.3781, 0.824], "loss/score": [1.632, 0.5978, 0.634], "loss/width": [1.366, 1.809, -0.324], "loss": [33.43, 49.81, -0.49]}, "active": {"loss/view": 13, "loss/angle": 13, "loss/depth": 13, "loss/score": 13, "loss/width": 13}, "real_seeds": {"min": 0.0, "mean": 0.582, "zero_iterations": 7}, "supervised_seeds": {"min": 0.0, "mean": 0.082, "zero_iterations": 7}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.468, "peak_gpu_mib": 4588.3, "seconds": 29.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PTv3Sonata@ptv3-sonata-small", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=ptv3-sonata-small"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata-small", "verdict": "runs-unstable", "judge": 2, "config_hash": "09b9a7c12033951e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-sonata-small -o encoder__FineGrasp__PTv3Sonata@ptv3-sonata-small.yaml", "fitted": ["in_channels: 6"], "unstable": "7 of 20 iterations had no real seed (iteration 2, 3, 7, 10, 15, 16 ...). No grasp was predicted on any probed frame.", "probe": "grasppanda probe encoder__FineGrasp__PTv3Sonata@ptv3-sonata-small.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "7 of 20 iterations had no real seed (iteration 2, 3, 7, 10, 15, 16 ...). No grasp was predicted on any probed frame.", "judge": 2, "iterations": 20, "grasps_per_frame": [0, 0], "losses": {"loss/objectness": [0.7073, 0.7404], "loss/graspness": [0.536, 0.6245], "loss/view": [1.088, 0.654], "loss/angle": [2.207, 0.7096], "loss/depth": [1.36, 0.4217], "loss/score": [1.634, 0.6064], "loss/width": [1.378, 0.8585], "loss": [8.911, 4.615]}, "trend": {"loss/objectness": [0.7073, 0.7724, -0.092], "loss/graspness": [0.536, 4.642, -7.662], "loss/view": [1.088, 0.72, 0.338], "loss/angle": [2.207, 0.6907, 0.687], "loss/depth": [1.36, 0.4138, 0.696], "loss/score": [1.634, 0.5943, 0.636], "loss/width": [1.378, 0.7277, 0.472], "loss": [8.911, 7.27, 0.184]}, "active": {"loss/view": 13, "loss/angle": 12, "loss/depth": 12, "loss/score": 12, "loss/width": 12}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null]}, "schedule": "constant", "rate": 0.002, "parameters": 44494881, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7073, 0.6972], "loss/graspness": [0.536, 0.5811], "loss/view": [1.088, 0.6481], "loss/angle": [2.207, 0.6941], "loss/depth": [1.36, 0.4179], "loss/score": [1.634, 0.5629], "loss/width": [1.378, 0.7952], "loss": [8.911, 4.396]}, "trend": {"loss/objectness": [0.7073, 0.7552, -0.068], "loss/graspness": [0.536, 4.76, -7.88], "loss/view": [1.088, 0.7108, 0.347], "loss/angle": [2.207, 0.7244, 0.672], "loss/depth": [1.36, 0.4335, 0.681], "loss/score": [1.634, 0.6067, 0.629], "loss/width": [1.378, 0.7472, 0.458], "loss": [8.911, 7.419, 0.167]}, "active": {"loss/view": 13, "loss/angle": 12, "loss/depth": 12, "loss/score": 12, "loss/width": 12}, "real_seeds": {"min": 0.0, "mean": 0.572, "zero_iterations": 7}, "supervised_seeds": {"min": 0.0, "mean": 0.068, "zero_iterations": 8}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.762, "peak_gpu_mib": 13646.7, "seconds": 60.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PTv3Sonata@ptv3-sonata", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=ptv3-sonata"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata", "verdict": "runs", "judge": 2, "config_hash": "a1a6b2ead7b8b839", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-sonata -o encoder__FineGrasp__PTv3Sonata@ptv3-sonata.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PTv3Sonata@ptv3-sonata.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 115159697, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [1.151, 7.878], "loss/graspness": [5.986, 73.48], "loss/view": [17.41, 0.5063], "loss/angle": [1.925, 0.8427], "loss/depth": [1.885, 0.4938], "loss/score": [2.23, 0.7843], "loss/width": [1.92, 0.9738], "loss": [32.5, 84.96]}, "trend": {"loss/objectness": [1.151, 5.842, -4.076], "loss/graspness": [5.986, 79.6, -12.299], "loss/view": [17.41, 0.6931, 0.96], "loss/angle": [1.925, 0.7155, 0.628], "loss/depth": [1.885, 0.3699, 0.804], "loss/score": [2.23, 0.6309, 0.717], "loss/width": [1.92, 1.273, 0.337], "loss": [32.5, 89.13, -1.742]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/objectness": ["rising"]}, "real_seeds": {"min": 0.0, "mean": 0.722, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.103, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[-1.122, -1.122, -1.122], [-1.122, -1.122, -1.122]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.787, "peak_gpu_mib": 16551.1, "seconds": 71.8}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PTv3Sonata@ptv3-sonata-small", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=ptv3-sonata-small"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata-small", "verdict": "runs", "judge": 2, "config_hash": "0098d264856a1fad", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3-sonata-small -o encoder__GraspNet-baseline__PTv3Sonata@ptv3-sonata-small.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PTv3Sonata@ptv3-sonata-small.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 40175916, "iterations": 20, "batch_size": 2, "grasps_per_frame": [459, 475], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7402, 0.4558], "loss/view": [0.1993, 0.04394], "loss/score": [0.08326, 0.04566], "loss/angle": [0.5016, 0.443], "loss/width": [0.5051, 0.1763], "loss/tolerance": [1.09, 0.4254], "loss": [3.119, 1.59]}, "trend": {"loss/objectness": [0.7402, 0.483, 0.348], "loss/view": [0.1993, 0.04591, 0.77], "loss/score": [0.08326, 0.03115, 0.626], "loss/angle": [0.5016, 0.4195, 0.164], "loss/width": [0.5051, 0.1828, 0.638], "loss/tolerance": [1.09, 0.4679, 0.571], "loss": [3.119, 1.63, 0.477]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-25.29, -0.4902, 42.11], [-27.1, -0.4132, 41.42]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.362, "peak_gpu_mib": 3819.2, "seconds": 21.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PTv3Sonata@ptv3-sonata", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=ptv3-sonata"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata", "verdict": "runs", "judge": 2, "config_hash": "776c03f98a007a9b", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3-sonata -o encoder__GraspNet-baseline__PTv3Sonata@ptv3-sonata.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PTv3Sonata@ptv3-sonata.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 110595164, "iterations": 20, "batch_size": 2, "grasps_per_frame": [26, 67], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7105, 0.5405], "loss/view": [0.2071, 0.047], "loss/score": [0.06483, 0.03128], "loss/angle": [0.5208, 0.45], "loss/width": [0.4481, 0.1745], "loss/tolerance": [1.116, 0.2976], "loss": [3.067, 1.541]}, "trend": {"loss/objectness": [0.7105, 0.5526, 0.222], "loss/view": [0.2071, 0.0436, 0.789], "loss/score": [0.06483, 0.02885, 0.555], "loss/angle": [0.5208, 0.4395, 0.156], "loss/width": [0.4481, 0.153, 0.658], "loss/tolerance": [1.116, 0.347, 0.689], "loss": [3.067, 1.565, 0.49]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-5.221, 0.6503, 7.012], [-7.0, 0.6379, 17.0]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.442, "peak_gpu_mib": 5056.5, "seconds": 25.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PTv3Sonata@ptv3-sonata-small", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3-sonata-small"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata-small", "verdict": "runs", "judge": 2, "config_hash": "dbacd70ad2a4a944", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3-sonata-small -o encoder__Scale-Balanced-Grasp__PTv3Sonata@ptv3-sonata-small.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PTv3Sonata@ptv3-sonata-small.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 40884460, "iterations": 20, "batch_size": 2, "grasps_per_frame": [130, 169], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6247, 0.2998], "loss/view": [0.2894, 0.1026], "loss/score": [0.05149, 0.02671], "loss/angle": [0.5398, 0.4382], "loss/width": [0.4241, 0.09111], "loss/tolerance": [1.15, 0.2111], "loss": [3.079, 1.169]}, "trend": {"loss/objectness": [0.6247, 0.287, 0.541], "loss/view": [0.2894, 0.1161, 0.599], "loss/score": [0.05149, 0.02335, 0.547], "loss/angle": [0.5398, 0.4379, 0.189], "loss/width": [0.4241, 0.1075, 0.747], "loss/tolerance": [1.15, 0.2498, 0.783], "loss": [3.079, 1.222, 0.603]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-16.6, -0.8383, 1.315], [-20.18, -1.179, 2.404]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.431, "peak_gpu_mib": 9272.1, "seconds": 25.2}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PTv3Sonata@ptv3-sonata", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3-sonata"], "slot": "backbone", "component": "PTv3Sonata", "variant": "ptv3-sonata", "verdict": "runs-empty", "judge": 2, "config_hash": "d6e7820f0002c840", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3-sonata -o encoder__Scale-Balanced-Grasp__PTv3Sonata@ptv3-sonata.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PTv3Sonata@ptv3-sonata.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 111365148, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6078, 0.2911], "loss/view": [0.2884, 0.09368], "loss/score": [0.04121, 0.02301], "loss/angle": [0.5112, 0.4397], "loss/width": [0.4144, 0.1233], "loss/tolerance": [1.354, 0.2648], "loss": [3.217, 1.236]}, "trend": {"loss/objectness": [0.6078, 0.2934, 0.517], "loss/view": [0.2884, 0.1078, 0.626], "loss/score": [0.04121, 0.02003, 0.514], "loss/angle": [0.5112, 0.4437, 0.132], "loss/width": [0.4144, 0.1668, 0.598], "loss/tolerance": [1.354, 0.3153, 0.767], "loss": [3.217, 1.347, 0.581]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.56, "peak_gpu_mib": 10510.7, "seconds": 29.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PTv3Utonia", "group": "encoder", "method": "GSNet", "sets": ["backbone=ptv3-utonia"], "slot": "backbone", "component": "PTv3Utonia", "variant": "ptv3-utonia", "verdict": "runs-unstable", "judge": 2, "config_hash": "c638cf3bf49e14a1", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3-utonia -o encoder__GSNet__PTv3Utonia.yaml", "unstable": "4 of 20 iterations had no real seed (iteration 3, 5, 8, 13).", "probe": "grasppanda probe encoder__GSNet__PTv3Utonia.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "4 of 20 iterations had no real seed (iteration 3, 5, 8, 13).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [1.019, 2.164], "loss/graspness": [10.66, 12.26], "loss/view": [17.16, 0.5459], "loss/score": [0.9239, 0.07859], "loss/width": [2.656, 0.9553], "loss": [32.42, 16.0]}, "trend": {"loss/objectness": [1.019, 2.471, -1.424], "loss/graspness": [10.66, 15.92, -0.493], "loss/view": [17.16, 0.6202, 0.964], "loss/score": [0.9239, 0.08729, 0.906], "loss/width": [2.656, 0.4881, 0.816], "loss": [32.42, 19.53, 0.398]}, "active": {"loss/view": 16, "loss/score": 16, "loss/width": 16}, "flags": {"loss/objectness": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[1.079, 1.148, 1.201], [1.017, 1.145, 1.196]]}, "schedule": "constant", "rate": 0.001, "parameters": 140108671, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [1.019, 2.629], "loss/graspness": [10.66, 15.52], "loss/view": [17.16, 1.024], "loss/score": [0.9239, 0.06691], "loss/width": [2.656, 0.4348], "loss": [32.42, 19.67]}, "trend": {"loss/objectness": [1.019, 2.685, -1.634], "loss/graspness": [10.66, 16.23, -0.522], "loss/view": [17.16, 0.6596, 0.962], "loss/score": [0.9239, 0.08025, 0.913], "loss/width": [2.656, 0.4093, 0.846], "loss": [32.42, 20.02, 0.383]}, "active": {"loss/view": 16, "loss/score": 16, "loss/width": 16}, "flags": {"loss/objectness": ["rising"]}, "real_seeds": {"min": 0.0, "mean": 0.547, "zero_iterations": 4}, "supervised_seeds": {"min": 0.0, "mean": 0.75, "zero_iterations": 4}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.7472, 0.8488, 0.8867], [0.6977, 0.849, 0.8951]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.686, "peak_gpu_mib": 7835.0, "seconds": 33.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PTv3Utonia", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=ptv3-utonia"], "slot": "backbone", "component": "PTv3Utonia", "variant": "ptv3-utonia", "verdict": "runs-unstable", "judge": 2, "config_hash": "e63783a3cf572e2b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-utonia -o encoder__EconomicGrasp__PTv3Utonia.yaml", "unstable": "6 of 20 iterations had no real seed (iteration 3, 5, 8, 9, 13, 20). No grasp was predicted on any probed frame.", "probe": "grasppanda probe encoder__EconomicGrasp__PTv3Utonia.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "8 of 20 iterations had no real seed (iteration 3, 5, 8, 9, 13, 14 ...).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.9888, 2.739], "loss/graspness": [11.19, 15.91], "loss/view": [17.47, 0.0], "loss/angle": [2.8, 0.0], "loss/depth": [1.996, -0.0], "loss/score": [2.523, 0.0], "loss/width": [1.384, 0.0], "loss": [38.35, 18.65]}, "trend": {"loss/objectness": [0.9888, 2.337, -1.364], "loss/graspness": [11.19, 17.18, -0.535], "loss/view": [17.47, 0.7391, 0.958], "loss/angle": [2.8, 0.7488, 0.733], "loss/depth": [1.996, 0.4468, 0.776], "loss/score": [2.523, 0.6485, 0.743], "loss/width": [1.384, 0.8157, 0.41], "loss": [38.35, 21.56, 0.438]}, "active": {"loss/view": 12, "loss/angle": 12, "loss/depth": 12, "loss/score": 12, "loss/width": 12}, "flags": {"loss/objectness": ["rising"], "loss/view": ["zero_at_end"], "loss/angle": ["zero_at_end"], "loss/depth": ["zero_at_end"], "loss/score": ["zero_at_end"], "loss/width": ["zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-1.943, -1.845, -1.739], [-2.133, -1.841, -1.747]]}, "schedule": "constant", "rate": 0.001, "parameters": 140505134, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.9888, 3.81], "loss/graspness": [11.19, 17.01], "loss/view": [17.47, 0.0], "loss/angle": [2.8, 0.0], "loss/depth": [1.996, -0.0], "loss/score": [2.523, 0.0], "loss/width": [1.384, 0.0], "loss": [38.35, 20.82]}, "trend": {"loss/objectness": [0.9888, 3.25, -2.287], "loss/graspness": [11.19, 28.26, -1.525], "loss/view": [17.47, 0.7892, 0.955], "loss/angle": [2.8, 0.5131, 0.817], "loss/depth": [1.996, 0.2354, 0.882], "loss/score": [2.523, 0.4304, 0.829], "loss/width": [1.384, 0.5384, 0.611], "loss": [38.35, 33.51, 0.126]}, "active": {"loss/view": 14, "loss/angle": 14, "loss/depth": 14, "loss/score": 14, "loss/width": 14}, "flags": {"loss/objectness": ["rising"], "loss/view": ["zero_at_end"], "loss/angle": ["zero_at_end"], "loss/depth": ["zero_at_end"], "loss/score": ["zero_at_end"], "loss/width": ["zero_at_end"]}, "real_seeds": {"min": 0.0, "mean": 0.587, "zero_iterations": 6}, "supervised_seeds": {"min": 0.0, "mean": 0.075, "zero_iterations": 6}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.775, "peak_gpu_mib": 8355.9, "seconds": 39.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PTv3Utonia", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=ptv3-utonia"], "slot": "backbone", "component": "PTv3Utonia", "variant": "ptv3-utonia", "verdict": "runs-empty", "judge": 2, "config_hash": "a45ac6c12a776889", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3-utonia -o encoder__FineGrasp__PTv3Utonia.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PTv3Utonia.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 144559731, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.9906, 4.467], "loss/graspness": [7.689, 41.13], "loss/view": [18.15, 0.6283], "loss/angle": [2.599, 0.7591], "loss/depth": [1.051, 0.4231], "loss/score": [2.382, 0.6011], "loss/width": [2.023, 0.8419], "loss": [34.89, 48.85]}, "trend": {"loss/objectness": [0.9906, 3.321, -2.353], "loss/graspness": [7.689, 86.38, -10.234], "loss/view": [18.15, 0.852, 0.953], "loss/angle": [2.599, 0.7226, 0.722], "loss/depth": [1.051, 0.4345, 0.587], "loss/score": [2.382, 0.5995, 0.748], "loss/width": [2.023, 1.081, 0.465], "loss": [34.89, 93.4, -1.677]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/objectness": ["rising"]}, "real_seeds": {"min": 0.024, "mean": 0.762, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.108, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.581, "peak_gpu_mib": 23506.7, "seconds": 80.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PTv3Utonia", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=ptv3-utonia"], "slot": "backbone", "component": "PTv3Utonia", "variant": "ptv3-utonia", "verdict": "runs", "judge": 2, "config_hash": "4806ae511e23fac5", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3-utonia -o encoder__GraspNet-baseline__PTv3Utonia.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PTv3Utonia.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 139837638, "iterations": 20, "batch_size": 2, "grasps_per_frame": [387, 471], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7117, 0.5175], "loss/view": [0.2057, 0.0475], "loss/score": [0.05114, 0.03278], "loss/angle": [0.4964, 0.4601], "loss/width": [0.5083, 0.1208], "loss/tolerance": [1.021, 0.3641], "loss": [2.994, 1.543]}, "trend": {"loss/objectness": [0.7117, 0.5594, 0.214], "loss/view": [0.2057, 0.04911, 0.761], "loss/score": [0.05114, 0.04039, 0.21], "loss/angle": [0.4964, 0.4387, 0.116], "loss/width": [0.5083, 0.1366, 0.731], "loss/tolerance": [1.021, 0.4072, 0.601], "loss": [2.994, 1.632, 0.455]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-13.95, 0.01232, 18.61], [-17.6, 0.07811, 20.75]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.539, "peak_gpu_mib": 7214.5, "seconds": 30.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PTv3Utonia", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3-utonia"], "slot": "backbone", "component": "PTv3Utonia", "variant": "ptv3-utonia", "verdict": "runs-empty", "judge": 2, "config_hash": "73add629a929619d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3-utonia -o encoder__Scale-Balanced-Grasp__PTv3Utonia.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PTv3Utonia.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 140647046, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6895, 0.301], "loss/view": [0.2845, 0.09157], "loss/score": [0.05238, 0.02417], "loss/angle": [0.5095, 0.4409], "loss/width": [0.5649, 0.09266], "loss/tolerance": [1.29, 0.2258], "loss": [3.391, 1.176]}, "trend": {"loss/objectness": [0.6895, 0.3014, 0.563], "loss/view": [0.2845, 0.1073, 0.623], "loss/score": [0.05238, 0.01979, 0.622], "loss/angle": [0.5095, 0.4435, 0.13], "loss/width": [0.5649, 0.1386, 0.755], "loss/tolerance": [1.29, 0.3135, 0.757], "loss": [3.391, 1.324, 0.609]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.748, "peak_gpu_mib": 12672.9, "seconds": 34.2}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointMLP", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointmlp"], "slot": "backbone", "component": "PointMLP", "variant": "pointmlp", "verdict": "runs", "judge": 2, "config_hash": "253c823f11f1c20a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointmlp -o encoder__GSNet__PointMLP.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__PointMLP.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 17517159, "iterations": 20, "batch_size": 4, "grasps_per_frame": [579, 24], "frames": 8, "losses": {"loss/objectness": [0.7388, 0.6221], "loss/graspness": [0.687, 0.2878], "loss/view": [10.06, 0.7668], "loss/score": [0.6163, 0.09306], "loss/width": [2.893, 0.4626], "loss": [15.0, 2.232]}, "trend": {"loss/objectness": [0.7388, 0.6522, 0.117], "loss/graspness": [0.687, 0.2774, 0.596], "loss/view": [10.06, 0.4358, 0.957], "loss/score": [0.6163, 0.08716, 0.859], "loss/width": [2.893, 0.286, 0.901], "loss": [15.0, 1.739, 0.884]}, "real_seeds": {"min": 0.517, "mean": 0.86, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1841, 0.1974, 0.2221], [0.1412, 0.168, 0.193]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.58, "peak_gpu_mib": 8034.0, "seconds": 21.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointMLP", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointmlp"], "slot": "backbone", "component": "PointMLP", "variant": "pointmlp", "verdict": "runs", "judge": 2, "config_hash": "ebf0a85d51dbf123", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointmlp -o encoder__EconomicGrasp__PointMLP.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__PointMLP.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 17913622, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7267, 0.6364], "loss/graspness": [0.8115, 0.2864], "loss/view": [2.82, 0.6963], "loss/angle": [2.143, 0.7938], "loss/depth": [2.135, 0.3679], "loss/score": [1.871, 0.6274], "loss/width": [1.278, 0.6831], "loss": [11.79, 4.091]}, "trend": {"loss/objectness": [0.7267, 0.6438, 0.114], "loss/graspness": [0.8115, 0.2732, 0.663], "loss/view": [2.82, 0.7001, 0.752], "loss/angle": [2.143, 0.8144, 0.62], "loss/depth": [2.135, 0.4427, 0.793], "loss/score": [1.871, 0.6838, 0.635], "loss/width": [1.278, 0.7685, 0.399], "loss": [11.79, 4.326, 0.633]}, "real_seeds": {"min": 0.83, "mean": 0.975, "zero_iterations": 0}, "supervised_seeds": {"min": 0.08, "mean": 0.124, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.463, -3.226, -3.081], [-3.87, -3.704, -3.545]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.578, "peak_gpu_mib": 10394.7, "seconds": 25.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointMLP", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointmlp"], "slot": "backbone", "component": "PointMLP", "variant": "pointmlp", "verdict": "runs", "judge": 2, "config_hash": "8f2e158a0c82a7a1", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointmlp -o encoder__FineGrasp__PointMLP.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__PointMLP.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 21297017, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7167, 0.4007], "loss/graspness": [1.039, 0.2688], "loss/view": [1.762, 0.6627], "loss/angle": [2.727, 1.12], "loss/depth": [1.397, 0.5832], "loss/score": [2.184, 0.9398], "loss/width": [3.329, 0.7892], "loss": [13.15, 4.765]}, "trend": {"loss/objectness": [0.7167, 0.4545, 0.366], "loss/graspness": [1.039, 0.2804, 0.73], "loss/view": [1.762, 0.6709, 0.619], "loss/angle": [2.727, 1.154, 0.577], "loss/depth": [1.397, 0.6361, 0.545], "loss/score": [2.184, 0.9811, 0.551], "loss/width": [3.329, 0.8172, 0.755], "loss": [13.15, 4.994, 0.62]}, "real_seeds": {"min": 0.687, "mean": 0.974, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.154, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.678, -2.678, -2.678], [-2.678, -2.678, -2.678]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.591, "peak_gpu_mib": 28280.8, "seconds": 68.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointMLP", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointmlp"], "slot": "backbone", "component": "PointMLP", "variant": "pointmlp", "verdict": "runs", "judge": 2, "config_hash": "65124c1a0ea9b7c8", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointmlp -o encoder__GraspNet-baseline__PointMLP.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointMLP.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 17144388, "iterations": 20, "batch_size": 2, "grasps_per_frame": [361, 537], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7226, 0.5963], "loss/view": [0.1706, 0.04264], "loss/score": [0.07429, 0.03482], "loss/angle": [0.5067, 0.4292], "loss/width": [0.4907, 0.138], "loss/tolerance": [1.193, 0.2917], "loss": [3.158, 1.533]}, "trend": {"loss/objectness": [0.7226, 0.5867, 0.188], "loss/view": [0.1706, 0.03914, 0.771], "loss/score": [0.07429, 0.0353, 0.525], "loss/angle": [0.5067, 0.4333, 0.145], "loss/width": [0.4907, 0.1654, 0.663], "loss/tolerance": [1.193, 0.3716, 0.689], "loss": [3.158, 1.631, 0.483]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-12.34, -0.4616, 9.949], [-18.25, -0.2027, 12.11]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.544, "peak_gpu_mib": 7579.4, "seconds": 19.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointMLP", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointmlp"], "slot": "backbone", "component": "PointMLP", "variant": "pointmlp", "verdict": "runs-empty", "judge": 2, "config_hash": "a07dcfc47013a236", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointmlp -o encoder__Scale-Balanced-Grasp__PointMLP.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointMLP.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 17598724, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6212, 0.3824], "loss/view": [0.3442, 0.1399], "loss/score": [0.02242, 0.01629], "loss/angle": [0.497, 0.4717], "loss/width": [0.4161, 0.03787], "loss/tolerance": [0.865, 0.109], "loss": [2.766, 1.157]}, "trend": {"loss/objectness": [0.6212, 0.3802, 0.388], "loss/view": [0.3442, 0.113, 0.672], "loss/score": [0.02242, 0.02036, 0.092], "loss/angle": [0.497, 0.4497, 0.095], "loss/width": [0.4161, 0.05507, 0.868], "loss/tolerance": [0.865, 0.1247, 0.856], "loss": [2.766, 1.143, 0.587]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.649, "peak_gpu_mib": 13031.9, "seconds": 21.9}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointMamba", "group": "encoder", "method": "GSNet", "sets": ["backbone=point-mamba"], "slot": "backbone", "component": "PointMamba", "variant": "point-mamba", "verdict": "runs", "judge": 2, "config_hash": "ad414c6b4aa5db89", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=point-mamba -o encoder__GSNet__PointMamba.yaml", "adapter": "FeaturePropagation", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__PointMamba.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12883855, "iterations": 20, "batch_size": 4, "grasps_per_frame": [2, 3], "frames": 8, "losses": {"loss/objectness": [0.7437, 0.6168], "loss/graspness": [0.8478, 0.2046], "loss/view": [1.824, 0.5104], "loss/score": [1.142, 0.05192], "loss/width": [2.546, 0.1625], "loss": [7.102, 1.546]}, "trend": {"loss/objectness": [0.7437, 0.6397, 0.14], "loss/graspness": [0.8478, 0.2339, 0.724], "loss/view": [1.824, 0.5125, 0.719], "loss/score": [1.142, 0.06319, 0.945], "loss/width": [2.546, 0.1761, 0.931], "loss": [7.102, 1.625, 0.771]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.362, 0.3629, 0.3639], [0.368, 0.3681, 0.3714]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.243, "peak_gpu_mib": 5530.4, "seconds": 16.6}, "run": "2026-10-15@98e5310"},
  {"id": "encoder/EconomicGrasp/PointMamba", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=point-mamba"], "slot": "backbone", "component": "PointMamba", "variant": "point-mamba", "verdict": "runs", "judge": 2, "config_hash": "34207267b187ab64", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=point-mamba -o encoder__EconomicGrasp__PointMamba.yaml", "adapter": "FeaturePropagation", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__PointMamba.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 13280318, "iterations": 20, "batch_size": 4, "grasps_per_frame": [202, 190], "frames": 8, "losses": {"loss/objectness": [0.7478, 0.6124], "loss/graspness": [0.8585, 0.1966], "loss/view": [2.376, 0.8074], "loss/angle": [2.794, 0.8598], "loss/depth": [3.12, 0.4955], "loss/score": [1.777, 0.7426], "loss/width": [6.74, 0.697], "loss": [18.41, 4.411]}, "trend": {"loss/objectness": [0.7478, 0.6307, 0.157], "loss/graspness": [0.8585, 0.2227, 0.741], "loss/view": [2.376, 0.8277, 0.652], "loss/angle": [2.794, 0.9187, 0.671], "loss/depth": [3.12, 0.5613, 0.82], "loss/score": [1.777, 0.7727, 0.565], "loss/width": [6.74, 0.7113, 0.894], "loss": [18.41, 4.645, 0.748]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.115, "mean": 0.163, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-1.522, -1.444, -1.407], [-1.442, -1.43, -1.41]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.255, "peak_gpu_mib": 5803.7, "seconds": 17.5}, "run": "2026-10-15@98e5310"},
  {"id": "encoder/FineGrasp/PointMamba", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=point-mamba"], "slot": "backbone", "component": "PointMamba", "variant": "point-mamba", "verdict": "runs-empty", "judge": 2, "config_hash": "8ba33928fb60fc1b", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=point-mamba -o encoder__FineGrasp__PointMamba.yaml", "adapter": "FeaturePropagation", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__PointMamba.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 16469217, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7415, 0.3682], "loss/graspness": [0.6433, 0.279], "loss/view": [2.265, 0.6771], "loss/angle": [3.119, 1.064], "loss/depth": [1.263, 0.5882], "loss/score": [1.677, 0.9268], "loss/width": [2.413, 0.7772], "loss": [12.12, 4.681]}, "trend": {"loss/objectness": [0.7415, 0.3929, 0.47], "loss/graspness": [0.6433, 0.2872, 0.554], "loss/view": [2.265, 0.7095, 0.687], "loss/angle": [3.119, 1.032, 0.669], "loss/depth": [1.263, 0.5793, 0.541], "loss/score": [1.677, 0.8816, 0.474], "loss/width": [2.413, 0.8345, 0.654], "loss": [12.12, 4.717, 0.611]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.107, "mean": 0.172, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.03, "peak_gpu_mib": 18788.1, "seconds": 54.3}, "run": "2026-10-15@98e5310"},
  {"id": "encoder/GraspNet-baseline/PointMamba", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=point-mamba"], "slot": "backbone", "component": "PointMamba", "variant": "point-mamba", "verdict": "runs", "judge": 2, "config_hash": "8c105e89c8395433", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=point-mamba -o encoder__GraspNet-baseline__PointMamba.yaml", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PointMamba.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12604780, "iterations": 20, "batch_size": 2, "grasps_per_frame": [62, 70], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7173, 0.5138], "loss/view": [0.1988, 0.04896], "loss/score": [0.04239, 0.03818], "loss/angle": [0.5279, 0.4264], "loss/width": [0.5843, 0.1409], "loss/tolerance": [1.19, 0.3202], "loss": [3.261, 1.488]}, "trend": {"loss/objectness": [0.7173, 0.5625, 0.216], "loss/view": [0.1988, 0.04825, 0.757], "loss/score": [0.04239, 0.03122, 0.264], "loss/angle": [0.5279, 0.42, 0.204], "loss/width": [0.5843, 0.1601, 0.726], "loss/tolerance": [1.19, 0.3332, 0.72], "loss": [3.261, 1.555, 0.523]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-12.29, -3.364, 15.96], [-13.09, -0.9231, 10.07]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.19, "peak_gpu_mib": 5116.5, "seconds": 14.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointMamba", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=point-mamba"], "slot": "backbone", "component": "PointMamba", "variant": "point-mamba", "verdict": "runs", "judge": 2, "config_hash": "19914e7fd7bca660", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=point-mamba -o encoder__Scale-Balanced-Grasp__PointMamba.yaml", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointMamba.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 13059116, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 1], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8808, 0.3371], "loss/view": [0.2893, 0.09984], "loss/score": [0.03119, 0.02179], "loss/angle": [0.5016, 0.4367], "loss/width": [0.5364, 0.065], "loss/tolerance": [1.369, 0.1737], "loss": [3.608, 1.134]}, "trend": {"loss/objectness": [0.8808, 0.335, 0.62], "loss/view": [0.2893, 0.1137, 0.607], "loss/score": [0.03119, 0.01922, 0.384], "loss/angle": [0.5016, 0.4324, 0.138], "loss/width": [0.5364, 0.07617, 0.858], "loss/tolerance": [1.369, 0.2289, 0.833], "loss": [3.608, 1.205, 0.666]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 4], "score_quantiles": [[-1.657, -1.657, -1.657], [0.1078, 0.1078, 0.1078]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.478, "peak_gpu_mib": 10567.0, "seconds": 19.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointMetaBase@pointmetabase-xl", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointmetabase-xl"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "77246ea229253dd0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointmetabase-xl -o encoder__GSNet__PointMetaBase@pointmetabase-xl.yaml", "probe": "grasppanda probe encoder__GSNet__PointMetaBase@pointmetabase-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15476879, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7421, 0.4226], "loss/graspness": [0.8372, 0.1607], "loss/view": [2.467, 0.8084], "loss/score": [1.185, 0.07554], "loss/width": [3.304, 0.191], "loss": [8.535, 1.658]}, "trend": {"loss/objectness": [0.7421, 0.4518, 0.391], "loss/graspness": [0.8372, 0.1805, 0.784], "loss/view": [2.467, 0.7727, 0.687], "loss/score": [1.185, 0.07837, 0.934], "loss/width": [3.304, 0.1966, 0.94], "loss": [8.535, 1.68, 0.803]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.247, "peak_gpu_mib": 5836.8, "seconds": 15.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PointMetaBase@pointmetabase", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointmetabase"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase", "verdict": "runs", "judge": 2, "config_hash": "bd54ea6edf95163b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointmetabase -o encoder__GSNet__PointMetaBase@pointmetabase.yaml", "probe": "grasppanda probe encoder__GSNet__PointMetaBase@pointmetabase.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2913167, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7598, 0.5745], "loss/graspness": [1.913, 0.2522], "loss/view": [2.519, 0.9109], "loss/score": [1.0, 0.07083], "loss/width": [2.345, 0.2186], "loss": [8.537, 2.027]}, "trend": {"loss/objectness": [0.7598, 0.6119, 0.195], "loss/graspness": [1.913, 0.2982, 0.844], "loss/view": [2.519, 0.9256, 0.633], "loss/score": [1.0, 0.08421, 0.916], "loss/width": [2.345, 0.233, 0.901], "loss": [8.537, 2.153, 0.748]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [[0.08632, 0.1253, 0.184], [0.09067, 0.1239, 0.1846]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.153, "peak_gpu_mib": 3060.8, "seconds": 13.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointMetaBase@pointmetabase-xl", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointmetabase-xl"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "1b08e26652ec9f89", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointmetabase-xl -o encoder__EconomicGrasp__PointMetaBase@pointmetabase-xl.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointMetaBase@pointmetabase-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15873342, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7356, 0.5225], "loss/graspness": [0.9578, 0.2246], "loss/view": [2.701, 0.9939], "loss/angle": [2.903, 0.7287], "loss/depth": [2.617, 0.4693], "loss/score": [1.838, 0.651], "loss/width": [0.9544, 0.8841], "loss": [12.71, 4.474]}, "trend": {"loss/objectness": [0.7356, 0.5524, 0.249], "loss/graspness": [0.9578, 0.2461, 0.743], "loss/view": [2.701, 1.051, 0.611], "loss/angle": [2.903, 0.7848, 0.73], "loss/depth": [2.617, 0.4978, 0.81], "loss/score": [1.838, 0.6779, 0.631], "loss/width": [0.9544, 0.8151, 0.146], "loss": [12.71, 4.626, 0.636]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.08, "mean": 0.194, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.331, "peak_gpu_mib": 7527.4, "seconds": 17.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointMetaBase@pointmetabase", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointmetabase"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase", "verdict": "runs", "judge": 2, "config_hash": "97e464a42ad6324a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointmetabase -o encoder__EconomicGrasp__PointMetaBase@pointmetabase.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointMetaBase@pointmetabase.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3309630, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7497, 0.6591], "loss/graspness": [1.761, 0.3823], "loss/view": [2.72, 1.219], "loss/angle": [2.22, 0.7266], "loss/depth": [1.861, 0.3803], "loss/score": [2.184, 0.6153], "loss/width": [0.9092, 0.8505], "loss": [12.41, 4.833]}, "trend": {"loss/objectness": [0.7497, 0.6697, 0.107], "loss/graspness": [1.761, 0.4475, 0.746], "loss/view": [2.72, 1.258, 0.537], "loss/angle": [2.22, 0.7163, 0.677], "loss/depth": [1.861, 0.4059, 0.782], "loss/score": [2.184, 0.6289, 0.712], "loss/width": [0.9092, 0.83, 0.087], "loss": [12.41, 4.957, 0.6]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.075, "mean": 0.102, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-3.113, -2.825, -2.558], [-3.076, -2.837, -2.265]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.192, "peak_gpu_mib": 3881.1, "seconds": 15.8}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointMetaBase@pointmetabase-xl", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointmetabase-xl"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "a397cae040a9c56c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointmetabase-xl -o encoder__FineGrasp__PointMetaBase@pointmetabase-xl.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointMetaBase@pointmetabase-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18912673, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8135, 0.1862], "loss/graspness": [0.6187, 0.1178], "loss/view": [2.39, 0.8995], "loss/angle": [2.689, 1.051], "loss/depth": [2.083, 0.5548], "loss/score": [1.872, 0.8917], "loss/width": [1.395, 0.7443], "loss": [11.86, 4.446]}, "trend": {"loss/objectness": [0.8135, 0.2004, 0.754], "loss/graspness": [0.6187, 0.1174, 0.81], "loss/view": [2.39, 0.9353, 0.609], "loss/angle": [2.689, 1.027, 0.618], "loss/depth": [2.083, 0.564, 0.729], "loss/score": [1.872, 0.8765, 0.532], "loss/width": [1.395, 0.8535, 0.388], "loss": [11.86, 4.574, 0.614]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.106, "mean": 0.308, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.126, "peak_gpu_mib": 21898.6, "seconds": 58.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointMetaBase@pointmetabase", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointmetabase"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase", "verdict": "runs", "judge": 2, "config_hash": "b443cdf9992bf8ef", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointmetabase -o encoder__FineGrasp__PointMetaBase@pointmetabase.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointMetaBase@pointmetabase.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 6324289, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7163, 0.3493], "loss/graspness": [1.049, 0.1529], "loss/view": [2.737, 1.098], "loss/angle": [2.706, 0.8108], "loss/depth": [2.073, 0.4289], "loss/score": [1.693, 0.6993], "loss/width": [1.253, 0.8627], "loss": [12.23, 4.402]}, "trend": {"loss/objectness": [0.7163, 0.3788, 0.471], "loss/graspness": [1.049, 0.1614, 0.846], "loss/view": [2.737, 1.127, 0.588], "loss/angle": [2.706, 0.7691, 0.716], "loss/depth": [2.073, 0.4256, 0.795], "loss/score": [1.693, 0.6607, 0.61], "loss/width": [1.253, 0.7966, 0.364], "loss": [12.23, 4.32, 0.647]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.151, "mean": 0.244, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.597, -2.597, -2.597], [-2.597, -2.597, -2.597]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.615, "peak_gpu_mib": 14706.7, "seconds": 57.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointMetaBase@pointmetabase-xl", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointmetabase-xl"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase-xl", "verdict": "runs", "judge": 2, "config_hash": "a7ea6230058af736", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointmetabase-xl -o encoder__GraspNet-baseline__PointMetaBase@pointmetabase-xl.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointMetaBase@pointmetabase-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15542956, "iterations": 20, "batch_size": 2, "grasps_per_frame": [933, 968], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7193, 0.3308], "loss/view": [0.2113, 0.04259], "loss/score": [0.0595, 0.03847], "loss/angle": [0.5064, 0.4306], "loss/width": [0.4991, 0.1425], "loss/tolerance": [0.9649, 0.3259], "loss": [2.96, 1.311]}, "trend": {"loss/objectness": [0.7193, 0.355, 0.506], "loss/view": [0.2113, 0.04436, 0.79], "loss/score": [0.0595, 0.03142, 0.472], "loss/angle": [0.5064, 0.4209, 0.169], "loss/width": [0.4991, 0.1628, 0.674], "loss/tolerance": [0.9649, 0.3671, 0.619], "loss": [2.96, 1.382, 0.533]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-22.56, 1.694, 17.37], [-18.05, 1.711, 16.21]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.403, "peak_gpu_mib": 6273.6, "seconds": 16.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PointMetaBase@pointmetabase", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointmetabase"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase", "verdict": "runs", "judge": 2, "config_hash": "5d02686dcc7d2d66", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointmetabase -o encoder__GraspNet-baseline__PointMetaBase@pointmetabase.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointMetaBase@pointmetabase.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2987404, "iterations": 20, "batch_size": 2, "grasps_per_frame": [828, 695], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7355, 0.4025], "loss/view": [0.22, 0.04909], "loss/score": [0.05289, 0.03675], "loss/angle": [0.507, 0.4719], "loss/width": [0.4641, 0.1553], "loss/tolerance": [0.9775, 0.3974], "loss": [2.957, 1.513]}, "trend": {"loss/objectness": [0.7355, 0.4036, 0.451], "loss/view": [0.22, 0.04949, 0.775], "loss/score": [0.05289, 0.03009, 0.431], "loss/angle": [0.507, 0.4465, 0.119], "loss/width": [0.4641, 0.1761, 0.621], "loss/tolerance": [0.9775, 0.3804, 0.611], "loss": [2.957, 1.486, 0.497]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-20.77, -0.4008, 16.32], [-19.16, -0.2986, 14.75]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.299, "peak_gpu_mib": 4374.1, "seconds": 14.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointMetaBase@pointmetabase-xl", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointmetabase-xl"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "b575b6e016d38305", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointmetabase-xl -o encoder__Scale-Balanced-Grasp__PointMetaBase@pointmetabase-xl.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointMetaBase@pointmetabase-xl.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 16013932, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7512, 0.2391], "loss/view": [0.3068, 0.1029], "loss/score": [0.02967, 0.02391], "loss/angle": [0.5074, 0.4381], "loss/width": [0.5172, 0.08718], "loss/tolerance": [1.355, 0.1921], "loss": [3.467, 1.083]}, "trend": {"loss/objectness": [0.7512, 0.2518, 0.665], "loss/view": [0.3068, 0.1163, 0.621], "loss/score": [0.02967, 0.02318, 0.219], "loss/angle": [0.5074, 0.4223, 0.168], "loss/width": [0.5172, 0.08622, 0.833], "loss/tolerance": [1.355, 0.2126, 0.843], "loss": [3.467, 1.113, 0.679]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.538, "peak_gpu_mib": 11724.2, "seconds": 19.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointMetaBase@pointmetabase", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointmetabase"], "slot": "backbone", "component": "PointMetaBase", "variant": "pointmetabase", "verdict": "runs-empty", "judge": 2, "config_hash": "be039934f38bbe60", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointmetabase -o encoder__Scale-Balanced-Grasp__PointMetaBase@pointmetabase.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointMetaBase@pointmetabase.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 3450188, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7443, 0.327], "loss/view": [0.3134, 0.1022], "loss/score": [0.03615, 0.02244], "loss/angle": [0.5131, 0.4349], "loss/width": [0.6935, 0.11], "loss/tolerance": [0.9588, 0.2467], "loss": [3.259, 1.243]}, "trend": {"loss/objectness": [0.7443, 0.3272, 0.56], "loss/view": [0.3134, 0.1168, 0.627], "loss/score": [0.03615, 0.01953, 0.46], "loss/angle": [0.5131, 0.426, 0.17], "loss/width": [0.6935, 0.1138, 0.836], "loss/tolerance": [0.9588, 0.2754, 0.713], "loss": [3.259, 1.279, 0.608]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.416, "peak_gpu_mib": 9826.9, "seconds": 17.9}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointNeXt@pointnext-b", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnext-b"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-b", "verdict": "runs-empty", "judge": 2, "config_hash": "b9885bc954df9a19", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnext-b -o encoder__GSNet__PointNeXt@pointnext-b.yaml", "probe": "grasppanda probe encoder__GSNet__PointNeXt@pointnext-b.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4003343, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7358, 0.664], "loss/graspness": [0.6016, 0.2847], "loss/view": [2.396, 0.8627], "loss/score": [0.8266, 0.06235], "loss/width": [2.666, 0.1811], "loss": [7.227, 2.055]}, "trend": {"loss/objectness": [0.7358, 0.6556, 0.109], "loss/graspness": [0.6016, 0.2792, 0.536], "loss/view": [2.396, 0.8634, 0.64], "loss/score": [0.8266, 0.06367, 0.923], "loss/width": [2.666, 0.2102, 0.921], "loss": [7.227, 2.072, 0.713]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.197, "peak_gpu_mib": 2711.3, "seconds": 19.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PointNeXt@pointnext-l", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnext-l"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-l", "verdict": "runs-empty", "judge": 2, "config_hash": "f53411a0870dcd55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnext-l -o encoder__GSNet__PointNeXt@pointnext-l.yaml", "probe": "grasppanda probe encoder__GSNet__PointNeXt@pointnext-l.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 7300559, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7266, 0.6458], "loss/graspness": [0.9564, 0.2638], "loss/view": [2.174, 0.7983], "loss/score": [0.7581, 0.0545], "loss/width": [2.142, 0.2365], "loss": [6.757, 1.999]}, "trend": {"loss/objectness": [0.7266, 0.6596, 0.092], "loss/graspness": [0.9564, 0.3159, 0.67], "loss/view": [2.174, 0.8465, 0.611], "loss/score": [0.7581, 0.06285, 0.917], "loss/width": [2.142, 0.2143, 0.9], "loss": [6.757, 2.099, 0.689]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.226, "peak_gpu_mib": 3698.7, "seconds": 18.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PointNeXt@pointnext-xl", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnext-xl"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "78bca4ad2ef6e2cd", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnext-xl -o encoder__GSNet__PointNeXt@pointnext-xl.yaml", "probe": "grasppanda probe encoder__GSNet__PointNeXt@pointnext-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 41769359, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7151, 0.5289], "loss/graspness": [0.6969, 0.2213], "loss/view": [2.116, 0.5579], "loss/score": [1.031, 0.06941], "loss/width": [2.376, 0.1678], "loss": [6.935, 1.545]}, "trend": {"loss/objectness": [0.7151, 0.5704, 0.202], "loss/graspness": [0.6969, 0.2297, 0.67], "loss/view": [2.116, 0.5974, 0.718], "loss/score": [1.031, 0.07905, 0.923], "loss/width": [2.376, 0.1894, 0.92], "loss": [6.935, 1.666, 0.76]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.498, "peak_gpu_mib": 8503.3, "seconds": 22.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PointNeXt@pointnext", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnext"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext", "verdict": "runs-empty", "judge": 2, "config_hash": "93f0a8c02c78dff0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnext -o encoder__GSNet__PointNeXt@pointnext.yaml", "probe": "grasppanda probe encoder__GSNet__PointNeXt@pointnext.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 967727, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.722, 0.633], "loss/graspness": [0.8836, 0.1977], "loss/view": [2.824, 0.8979], "loss/score": [1.359, 0.06601], "loss/width": [2.072, 0.1882], "loss": [7.86, 1.983]}, "trend": {"loss/objectness": [0.722, 0.6603, 0.085], "loss/graspness": [0.8836, 0.2201, 0.751], "loss/view": [2.824, 0.8821, 0.688], "loss/score": [1.359, 0.07754, 0.943], "loss/width": [2.072, 0.1901, 0.908], "loss": [7.86, 2.03, 0.742]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 1957.9, "seconds": 14.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNeXt@pointnext-b", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnext-b"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-b", "verdict": "runs-empty", "judge": 2, "config_hash": "07162e7e30a8ccf7", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnext-b -o encoder__EconomicGrasp__PointNeXt@pointnext-b.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointNeXt@pointnext-b.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4399806, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7424, 0.6692], "loss/graspness": [0.6847, 0.2931], "loss/view": [2.695, 1.306], "loss/angle": [2.604, 0.6842], "loss/depth": [2.054, 0.3295], "loss/score": [2.345, 0.5603], "loss/width": [1.336, 0.6557], "loss": [12.46, 4.498]}, "trend": {"loss/objectness": [0.7424, 0.6804, 0.084], "loss/graspness": [0.6847, 0.3206, 0.532], "loss/view": [2.695, 1.363, 0.494], "loss/angle": [2.604, 0.693, 0.734], "loss/depth": [2.054, 0.3726, 0.819], "loss/score": [2.345, 0.5998, 0.744], "loss/width": [1.336, 0.7537, 0.436], "loss": [12.46, 4.783, 0.616]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.109, "mean": 0.147, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.262, "peak_gpu_mib": 3414.1, "seconds": 17.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNeXt@pointnext-l", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnext-l"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-l", "verdict": "runs-empty", "judge": 2, "config_hash": "edd9b04812e125e3", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnext-l -o encoder__EconomicGrasp__PointNeXt@pointnext-l.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointNeXt@pointnext-l.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 7697022, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7318, 0.6725], "loss/graspness": [1.179, 0.3141], "loss/view": [2.56, 1.132], "loss/angle": [2.989, 0.8121], "loss/depth": [2.128, 0.4248], "loss/score": [2.486, 0.6719], "loss/width": [3.252, 0.834], "loss": [15.33, 4.862]}, "trend": {"loss/objectness": [0.7318, 0.6816, 0.069], "loss/graspness": [1.179, 0.4009, 0.66], "loss/view": [2.56, 1.221, 0.523], "loss/angle": [2.989, 0.7456, 0.751], "loss/depth": [2.128, 0.4063, 0.809], "loss/score": [2.486, 0.618, 0.751], "loss/width": [3.252, 0.8053, 0.752], "loss": [15.33, 4.878, 0.682]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.091, "mean": 0.107, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.293, "peak_gpu_mib": 4720.2, "seconds": 18.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNeXt@pointnext-xl", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnext-xl"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "bf99a3a965b4af3e", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnext-xl -o encoder__EconomicGrasp__PointNeXt@pointnext-xl.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointNeXt@pointnext-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 42165822, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7475, 0.6052], "loss/graspness": [0.7589, 0.2757], "loss/view": [2.397, 0.9536], "loss/angle": [2.89, 0.7273], "loss/depth": [1.103, 0.4356], "loss/score": [1.88, 0.6263], "loss/width": [1.978, 0.6587], "loss": [11.75, 4.282]}, "trend": {"loss/objectness": [0.7475, 0.634, 0.152], "loss/graspness": [0.7589, 0.3105, 0.591], "loss/view": [2.397, 1.0, 0.583], "loss/angle": [2.89, 0.7276, 0.748], "loss/depth": [1.103, 0.4457, 0.596], "loss/score": [1.88, 0.6236, 0.668], "loss/width": [1.978, 0.7829, 0.604], "loss": [11.75, 4.525, 0.615]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.098, "mean": 0.152, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.714, "peak_gpu_mib": 10975.7, "seconds": 28.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNeXt@pointnext", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnext"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext", "verdict": "runs-empty", "judge": 2, "config_hash": "537d94b5b3954adb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnext -o encoder__EconomicGrasp__PointNeXt@pointnext.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointNeXt@pointnext.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1364190, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.768, 0.6548], "loss/graspness": [0.8411, 0.2491], "loss/view": [3.266, 1.246], "loss/angle": [3.499, 0.695], "loss/depth": [1.218, 0.3932], "loss/score": [1.687, 0.5952], "loss/width": [1.761, 0.8062], "loss": [13.04, 4.64]}, "trend": {"loss/objectness": [0.768, 0.6638, 0.136], "loss/graspness": [0.8411, 0.2713, 0.677], "loss/view": [3.266, 1.342, 0.589], "loss/angle": [3.499, 0.7912, 0.774], "loss/depth": [1.218, 0.4304, 0.647], "loss/score": [1.687, 0.6731, 0.601], "loss/width": [1.761, 0.839, 0.524], "loss": [13.04, 5.01, 0.616]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.088, "mean": 0.156, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.33, "peak_gpu_mib": 2420.1, "seconds": 22.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNeXt@pointnext-b", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnext-b"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-b", "verdict": "runs-empty", "judge": 2, "config_hash": "f9f305efee026fd9", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnext-b -o encoder__FineGrasp__PointNeXt@pointnext-b.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNeXt@pointnext-b.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 7414465, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7068, 0.4969], "loss/graspness": [0.9241, 0.1923], "loss/view": [2.879, 0.9009], "loss/angle": [2.256, 0.7773], "loss/depth": [2.138, 0.4541], "loss/score": [2.114, 0.6684], "loss/width": [1.049, 0.6602], "loss": [12.07, 4.15]}, "trend": {"loss/objectness": [0.7068, 0.5137, 0.273], "loss/graspness": [0.9241, 0.1982, 0.786], "loss/view": [2.879, 0.9256, 0.678], "loss/angle": [2.256, 0.7445, 0.67], "loss/depth": [2.138, 0.4017, 0.812], "loss/score": [2.114, 0.6451, 0.695], "loss/width": [1.049, 0.6692, 0.362], "loss": [12.07, 4.098, 0.66]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.112, "mean": 0.183, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.672, "peak_gpu_mib": 13757.2, "seconds": 53.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNeXt@pointnext-l", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnext-l"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-l", "verdict": "runs-empty", "judge": 2, "config_hash": "dc62a4c1cc85093c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnext-l -o encoder__FineGrasp__PointNeXt@pointnext-l.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNeXt@pointnext-l.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 10711681, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7203, 0.4726], "loss/graspness": [1.572, 0.2067], "loss/view": [2.49, 0.9015], "loss/angle": [2.403, 0.7167], "loss/depth": [1.691, 0.3977], "loss/score": [1.484, 0.6011], "loss/width": [1.465, 0.7692], "loss": [11.82, 4.066]}, "trend": {"loss/objectness": [0.7203, 0.5069, 0.296], "loss/graspness": [1.572, 0.2204, 0.86], "loss/view": [2.49, 0.9407, 0.622], "loss/angle": [2.403, 0.7449, 0.69], "loss/depth": [1.691, 0.412, 0.756], "loss/score": [1.484, 0.6317, 0.574], "loss/width": [1.465, 0.7613, 0.48], "loss": [11.82, 4.218, 0.643]}, "real_seeds": {"min": 0.941, "mean": 0.991, "zero_iterations": 0}, "supervised_seeds": {"min": 0.106, "mean": 0.184, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.788, "peak_gpu_mib": 16325.3, "seconds": 54.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNeXt@pointnext-xl", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnext-xl"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "d0239cb9e6bc4e30", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnext-xl -o encoder__FineGrasp__PointNeXt@pointnext-xl.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNeXt@pointnext-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 45205153, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7413, 0.3492], "loss/graspness": [1.287, 0.1695], "loss/view": [2.177, 0.8211], "loss/angle": [3.343, 0.8684], "loss/depth": [1.955, 0.4989], "loss/score": [2.56, 0.7387], "loss/width": [1.126, 0.7792], "loss": [13.19, 4.225]}, "trend": {"loss/objectness": [0.7413, 0.3829, 0.484], "loss/graspness": [1.287, 0.1689, 0.869], "loss/view": [2.177, 0.8846, 0.594], "loss/angle": [3.343, 0.8561, 0.744], "loss/depth": [1.955, 0.5048, 0.742], "loss/score": [2.56, 0.7291, 0.715], "loss/width": [1.126, 0.8114, 0.279], "loss": [13.19, 4.338, 0.671]}, "real_seeds": {"min": 0.981, "mean": 0.999, "zero_iterations": 0}, "supervised_seeds": {"min": 0.084, "mean": 0.22, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.667, "peak_gpu_mib": 28499.2, "seconds": 72.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNeXt@pointnext", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnext"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext", "verdict": "runs-empty", "judge": 2, "config_hash": "f0755690ddbe7142", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnext -o encoder__FineGrasp__PointNeXt@pointnext.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNeXt@pointnext.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4378849, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7269, 0.4957], "loss/graspness": [1.397, 0.1496], "loss/view": [3.065, 1.048], "loss/angle": [2.834, 0.7918], "loss/depth": [1.327, 0.43], "loss/score": [2.121, 0.6797], "loss/width": [1.955, 0.683], "loss": [13.43, 4.278]}, "trend": {"loss/objectness": [0.7269, 0.5216, 0.282], "loss/graspness": [1.397, 0.1621, 0.884], "loss/view": [3.065, 1.048, 0.658], "loss/angle": [2.834, 0.754, 0.734], "loss/depth": [1.327, 0.3976, 0.7], "loss/score": [2.121, 0.6393, 0.699], "loss/width": [1.955, 0.7164, 0.634], "loss": [13.43, 4.239, 0.684]}, "real_seeds": {"min": 0.975, "mean": 0.999, "zero_iterations": 0}, "supervised_seeds": {"min": 0.132, "mean": 0.23, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.439, "peak_gpu_mib": 11810.5, "seconds": 45.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointNeXt@pointnext-b", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnext-b"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-b", "verdict": "runs", "judge": 2, "config_hash": "a347e2c7d32da21a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnext-b -o encoder__GraspNet-baseline__PointNeXt@pointnext-b.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNeXt@pointnext-b.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4077580, "iterations": 20, "batch_size": 2, "grasps_per_frame": [6, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7027, 0.5372], "loss/view": [0.1862, 0.04604], "loss/score": [0.0627, 0.03266], "loss/angle": [0.5146, 0.4371], "loss/width": [0.4241, 0.1794], "loss/tolerance": [0.9999, 0.3354], "loss": [2.89, 1.568]}, "trend": {"loss/objectness": [0.7027, 0.5299, 0.246], "loss/view": [0.1862, 0.04505, 0.758], "loss/score": [0.0627, 0.03167, 0.495], "loss/angle": [0.5146, 0.4255, 0.173], "loss/width": [0.4241, 0.1684, 0.603], "loss/tolerance": [0.9999, 0.3579, 0.642], "loss": [2.89, 1.558, 0.461]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-9.042, -4.832, 3.724], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.271, "peak_gpu_mib": 4144.4, "seconds": 14.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PointNeXt@pointnext-l", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnext-l"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-l", "verdict": "runs-empty", "judge": 2, "config_hash": "9d14d5ce0257aa73", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnext-l -o encoder__GraspNet-baseline__PointNeXt@pointnext-l.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNeXt@pointnext-l.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 7374796, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7274, 0.4953], "loss/view": [0.2028, 0.05429], "loss/score": [0.08154, 0.03056], "loss/angle": [0.502, 0.4602], "loss/width": [0.4959, 0.1389], "loss/tolerance": [0.8528, 0.3075], "loss": [2.862, 1.487]}, "trend": {"loss/objectness": [0.7274, 0.5564, 0.235], "loss/view": [0.2028, 0.05674, 0.72], "loss/score": [0.08154, 0.03336, 0.591], "loss/angle": [0.502, 0.4417, 0.12], "loss/width": [0.4959, 0.168, 0.661], "loss/tolerance": [0.8528, 0.3449, 0.596], "loss": [2.862, 1.601, 0.441]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.329, "peak_gpu_mib": 4821.3, "seconds": 15.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PointNeXt@pointnext-xl", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnext-xl"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-xl", "verdict": "runs", "judge": 2, "config_hash": "d0f2b7f47b6dc4e8", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnext-xl -o encoder__GraspNet-baseline__PointNeXt@pointnext-xl.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNeXt@pointnext-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 41835436, "iterations": 20, "batch_size": 2, "grasps_per_frame": [129, 91], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7729, 0.4939], "loss/view": [0.1968, 0.04958], "loss/score": [0.0626, 0.03768], "loss/angle": [0.5259, 0.4339], "loss/width": [0.5598, 0.1664], "loss/tolerance": [1.178, 0.2936], "loss": [3.295, 1.475]}, "trend": {"loss/objectness": [0.7729, 0.5003, 0.353], "loss/view": [0.1968, 0.05047, 0.743], "loss/score": [0.0626, 0.03568, 0.43], "loss/angle": [0.5259, 0.4246, 0.193], "loss/width": [0.5598, 0.1724, 0.692], "loss/tolerance": [1.178, 0.3396, 0.712], "loss": [3.295, 1.523, 0.538]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-24.22, 0.3632, 12.69], [-15.81, 0.07083, 14.63]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.481, "peak_gpu_mib": 8151.5, "seconds": 18.7}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PointNeXt@pointnext", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnext"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext", "verdict": "runs", "judge": 2, "config_hash": "5efd48174515584c", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnext -o encoder__GraspNet-baseline__PointNeXt@pointnext.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNeXt@pointnext.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1041964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [609, 470], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7065, 0.3888], "loss/view": [0.2009, 0.04384], "loss/score": [0.04664, 0.03474], "loss/angle": [0.5064, 0.4653], "loss/width": [0.5408, 0.172], "loss/tolerance": [0.841, 0.3991], "loss": [2.842, 1.504]}, "trend": {"loss/objectness": [0.7065, 0.471, 0.333], "loss/view": [0.2009, 0.0438, 0.782], "loss/score": [0.04664, 0.03334, 0.285], "loss/angle": [0.5064, 0.4565, 0.099], "loss/width": [0.5408, 0.1752, 0.676], "loss/tolerance": [0.841, 0.4354, 0.482], "loss": [2.842, 1.615, 0.432]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-14.57, -0.05723, 24.71], [-25.46, -0.5016, 31.77]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.179, "peak_gpu_mib": 3627.6, "seconds": 12.2}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNeXt@pointnext-b", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnext-b"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-b", "verdict": "runs-empty", "judge": 2, "config_hash": "2295a72ff0fa7f60", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnext-b -o encoder__Scale-Balanced-Grasp__PointNeXt@pointnext-b.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNeXt@pointnext-b.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 4540364, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7765, 0.3267], "loss/view": [0.2679, 0.09985], "loss/score": [0.0388, 0.02191], "loss/angle": [0.5162, 0.4477], "loss/width": [0.4815, 0.1032], "loss/tolerance": [1.2, 0.1711], "loss": [3.281, 1.17]}, "trend": {"loss/objectness": [0.7765, 0.3195, 0.589], "loss/view": [0.2679, 0.1153, 0.57], "loss/score": [0.0388, 0.01933, 0.502], "loss/angle": [0.5162, 0.4195, 0.187], "loss/width": [0.4815, 0.127, 0.736], "loss/tolerance": [1.2, 0.2048, 0.829], "loss": [3.281, 1.205, 0.633]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.428, "peak_gpu_mib": 9595.9, "seconds": 17.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNeXt@pointnext-l", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnext-l"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-l", "verdict": "runs-empty", "judge": 2, "config_hash": "799b5faabcbc5d59", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnext-l -o encoder__Scale-Balanced-Grasp__PointNeXt@pointnext-l.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNeXt@pointnext-l.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 7837580, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.9255, 0.3709], "loss/view": [0.2511, 0.1111], "loss/score": [0.03551, 0.018], "loss/angle": [0.5112, 0.4395], "loss/width": [0.5526, 0.126], "loss/tolerance": [1.348, 0.2625], "loss": [3.624, 1.328]}, "trend": {"loss/objectness": [0.9255, 0.3524, 0.619], "loss/view": [0.2511, 0.124, 0.506], "loss/score": [0.03551, 0.01682, 0.526], "loss/angle": [0.5112, 0.4181, 0.182], "loss/width": [0.5526, 0.1501, 0.728], "loss/tolerance": [1.348, 0.2808, 0.792], "loss": [3.624, 1.342, 0.63]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.466, "peak_gpu_mib": 10275.7, "seconds": 19.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNeXt@pointnext-xl", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnext-xl"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "ba08009cd3e41d6e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnext-xl -o encoder__Scale-Balanced-Grasp__PointNeXt@pointnext-xl.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNeXt@pointnext-xl.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 42306412, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [1.121, 0.3265], "loss/view": [0.2684, 0.1048], "loss/score": [0.03703, 0.021], "loss/angle": [0.5077, 0.423], "loss/width": [0.6363, 0.1148], "loss/tolerance": [1.113, 0.2164], "loss": [3.683, 1.206]}, "trend": {"loss/objectness": [1.121, 0.3202, 0.714], "loss/view": [0.2684, 0.1208, 0.55], "loss/score": [0.03703, 0.01941, 0.476], "loss/angle": [0.5077, 0.419, 0.175], "loss/width": [0.6363, 0.1394, 0.781], "loss/tolerance": [1.113, 0.2945, 0.735], "loss": [3.683, 1.313, 0.643]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.702, "peak_gpu_mib": 13603.1, "seconds": 22.9}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNeXt@pointnext", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnext"], "slot": "backbone", "component": "PointNeXt", "variant": "pointnext", "verdict": "runs-empty", "judge": 2, "config_hash": "28ff37687693b487", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnext -o encoder__Scale-Balanced-Grasp__PointNeXt@pointnext.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNeXt@pointnext.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1504748, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.646, 0.3354], "loss/view": [0.3152, 0.1], "loss/score": [0.02943, 0.01915], "loss/angle": [0.5157, 0.4436], "loss/width": [0.6019, 0.0872], "loss/tolerance": [1.025, 0.2401], "loss": [3.134, 1.226]}, "trend": {"loss/objectness": [0.646, 0.3215, 0.502], "loss/view": [0.3152, 0.1142, 0.638], "loss/score": [0.02943, 0.01716, 0.417], "loss/angle": [0.5157, 0.4314, 0.163], "loss/width": [0.6019, 0.09722, 0.838], "loss/tolerance": [1.025, 0.2595, 0.747], "loss": [3.134, 1.241, 0.604]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.476, "peak_gpu_mib": 9077.4, "seconds": 18.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointNet2", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnet2"], "slot": "backbone", "component": "PointNet2", "variant": "pointnet2", "verdict": "runs", "judge": 2, "config_hash": "c5b4b20c28d3fca1", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 -o encoder__GSNet__PointNet2.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe encoder__GSNet__PointNet2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1140943, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1023, 1024], "frames": 8, "losses": {"loss/objectness": [0.7068, 0.6405], "loss/graspness": [0.7984, 0.3595], "loss/view": [1.885, 0.3478], "loss/score": [0.6815, 0.06971], "loss/width": [1.686, 0.241], "loss": [5.757, 1.659]}, "trend": {"loss/objectness": [0.7068, 0.6652, 0.059], "loss/graspness": [0.7984, 0.3586, 0.551], "loss/view": [1.885, 0.3731, 0.802], "loss/score": [0.6815, 0.0823, 0.879], "loss/width": [1.686, 0.2387, 0.858], "loss": [5.757, 1.718, 0.702]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.07804, 0.1336, 0.1875], [0.1387, 0.2897, 0.4718]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.22, "peak_gpu_mib": 3317.3, "seconds": 14.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNet2", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnet2"], "slot": "backbone", "component": "PointNet2", "variant": "pointnet2", "verdict": "runs", "judge": 2, "config_hash": "03313a272f78a261", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 -o encoder__EconomicGrasp__PointNet2.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe encoder__EconomicGrasp__PointNet2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1537406, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.725, 0.659], "loss/graspness": [0.8461, 0.315], "loss/view": [2.212, 0.7286], "loss/angle": [3.116, 0.8424], "loss/depth": [2.026, 0.4665], "loss/score": [1.019, 0.7296], "loss/width": [1.882, 0.8652], "loss": [11.83, 4.606]}, "trend": {"loss/objectness": [0.725, 0.6625, 0.086], "loss/graspness": [0.8461, 0.3621, 0.572], "loss/view": [2.212, 0.7405, 0.665], "loss/angle": [3.116, 0.8358, 0.732], "loss/depth": [2.026, 0.4722, 0.767], "loss/score": [1.019, 0.7049, 0.308], "loss/width": [1.882, 0.8844, 0.53], "loss": [11.83, 4.662, 0.606]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.112, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.68, -2.369, -1.951], [-2.69, -2.269, -1.84]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.267, "peak_gpu_mib": 3568.7, "seconds": 19.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNet2", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnet2"], "slot": "backbone", "component": "PointNet2", "variant": "pointnet2", "verdict": "runs-empty", "judge": 2, "config_hash": "1da07e2f2a15daba", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 -o encoder__FineGrasp__PointNet2.yaml", "adapter": "FeaturePropagation", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNet2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4725921, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7236, 0.461], "loss/graspness": [1.352, 0.294], "loss/view": [2.286, 0.6577], "loss/angle": [2.464, 1.008], "loss/depth": [2.445, 0.5837], "loss/score": [1.974, 0.847], "loss/width": [5.782, 0.8205], "loss": [17.03, 4.672]}, "trend": {"loss/objectness": [0.7236, 0.4854, 0.329], "loss/graspness": [1.352, 0.3166, 0.766], "loss/view": [2.286, 0.656, 0.713], "loss/angle": [2.464, 0.9771, 0.603], "loss/depth": [2.445, 0.5548, 0.773], "loss/score": [1.974, 0.8313, 0.579], "loss/width": [5.782, 0.7908, 0.863], "loss": [17.03, 4.612, 0.729]}, "real_seeds": {"min": 0.807, "mean": 0.99, "zero_iterations": 0}, "supervised_seeds": {"min": 0.111, "mean": 0.157, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.614, "peak_gpu_mib": 14493.5, "seconds": 53.4}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointNet2", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2"], "slot": "backbone", "component": "PointNet2", "variant": "pointnet2", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 -o encoder__GraspNet-baseline__PointNet2.yaml", "probed_as": "reference/GraspNet-baseline", "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNet2", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2"], "slot": "backbone", "component": "PointNet2", "variant": "pointnet2", "verdict": "runs-empty", "judge": 2, "config_hash": "7cd1649889c1629f", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 -o encoder__Scale-Balanced-Grasp__PointNet2.yaml", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNet2.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3615], "loss/view": [0.2787, 0.1356], "loss/score": [0.03878, 0.0186], "loss/angle": [0.5488, 0.4495], "loss/width": [0.5734, 0.1436], "loss/tolerance": [1.253, 0.3101], "loss": [3.568, 1.419]}, "trend": {"loss/objectness": [0.8755, 0.333, 0.62], "loss/view": [0.2787, 0.1423, 0.49], "loss/score": [0.03878, 0.01834, 0.527], "loss/angle": [0.5488, 0.4344, 0.209], "loss/width": [0.5734, 0.1643, 0.713], "loss/tolerance": [1.253, 0.3306, 0.736], "loss": [3.568, 1.423, 0.601]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.34, "peak_gpu_mib": 9424.9, "seconds": 15.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointNet2Dense", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnet2-dense"], "slot": "backbone", "component": "PointNet2Dense", "variant": "pointnet2-dense", "verdict": "runs-empty", "judge": 2, "config_hash": "e949d60658a06e39", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2-dense -o encoder__GSNet__PointNet2Dense.yaml", "probe": "grasppanda probe encoder__GSNet__PointNet2Dense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1191983, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.733, 0.6344], "loss/graspness": [0.7072, 0.2826], "loss/view": [1.869, 0.4542], "loss/score": [1.066, 0.07218], "loss/width": [2.998, 0.247], "loss": [7.373, 1.69]}, "trend": {"loss/objectness": [0.733, 0.641, 0.126], "loss/graspness": [0.7072, 0.3074, 0.565], "loss/view": [1.869, 0.4703, 0.748], "loss/score": [1.066, 0.08444, 0.921], "loss/width": [2.998, 0.2242, 0.925], "loss": [7.373, 1.727, 0.766]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.138, "peak_gpu_mib": 2472.6, "seconds": 15.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNet2Dense", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnet2-dense"], "slot": "backbone", "component": "PointNet2Dense", "variant": "pointnet2-dense", "verdict": "runs-empty", "judge": 2, "config_hash": "da507266909cfa16", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-dense -o encoder__EconomicGrasp__PointNet2Dense.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointNet2Dense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1588446, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7512, 0.6514], "loss/graspness": [0.715, 0.2996], "loss/view": [2.212, 0.8003], "loss/angle": [2.931, 0.7964], "loss/depth": [1.464, 0.4405], "loss/score": [1.871, 0.678], "loss/width": [2.137, 0.7647], "loss": [12.08, 4.431]}, "trend": {"loss/objectness": [0.7512, 0.6557, 0.127], "loss/graspness": [0.715, 0.3412, 0.523], "loss/view": [2.212, 0.8136, 0.632], "loss/angle": [2.931, 0.7862, 0.732], "loss/depth": [1.464, 0.4444, 0.696], "loss/score": [1.871, 0.6798, 0.637], "loss/width": [2.137, 0.8317, 0.611], "loss": [12.08, 4.552, 0.623]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.133, "peak_gpu_mib": 2695.5, "seconds": 14.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNet2Dense", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnet2-dense"], "slot": "backbone", "component": "PointNet2Dense", "variant": "pointnet2-dense", "verdict": "runs", "judge": 2, "config_hash": "43606f014151b13a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-dense -o encoder__FineGrasp__PointNet2Dense.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNet2Dense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4677697, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7153, 0.4186], "loss/graspness": [1.049, 0.2417], "loss/view": [2.168, 0.7439], "loss/angle": [2.151, 0.9313], "loss/depth": [1.972, 0.5503], "loss/score": [2.433, 0.8192], "loss/width": [1.287, 0.7941], "loss": [11.78, 4.499]}, "trend": {"loss/objectness": [0.7153, 0.434, 0.393], "loss/graspness": [1.049, 0.255, 0.757], "loss/view": [2.168, 0.7174, 0.669], "loss/angle": [2.151, 0.9235, 0.571], "loss/depth": [1.972, 0.5285, 0.732], "loss/score": [2.433, 0.7926, 0.674], "loss/width": [1.287, 0.7912, 0.385], "loss": [11.78, 4.442, 0.623]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.118, "mean": 0.174, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [null, [-2.421, -2.42, -2.42]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.521, "peak_gpu_mib": 12547.7, "seconds": 48.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointNet2Dense", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2-dense"], "slot": "backbone", "component": "PointNet2Dense", "variant": "pointnet2-dense", "verdict": "runs", "judge": 2, "config_hash": "53cf678d2e74685f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2-dense -o encoder__GraspNet-baseline__PointNet2Dense.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNet2Dense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1241740, "iterations": 20, "batch_size": 2, "grasps_per_frame": [362, 248], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7429, 0.5262], "loss/view": [0.1976, 0.0515], "loss/score": [0.08311, 0.03188], "loss/angle": [0.5142, 0.438], "loss/width": [0.5912, 0.1781], "loss/tolerance": [1.325, 0.4238], "loss": [3.454, 1.649]}, "trend": {"loss/objectness": [0.7429, 0.5634, 0.242], "loss/view": [0.1976, 0.05194, 0.737], "loss/score": [0.08311, 0.03283, 0.605], "loss/angle": [0.5142, 0.4359, 0.152], "loss/width": [0.5912, 0.1803, 0.695], "loss/tolerance": [1.325, 0.3981, 0.7], "loss": [3.454, 1.663, 0.519]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-17.24, -0.9689, 13.5], [-15.31, -0.8227, 11.59]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.228, "peak_gpu_mib": 3755.1, "seconds": 12.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNet2Dense", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2-dense"], "slot": "backbone", "component": "PointNet2Dense", "variant": "pointnet2-dense", "verdict": "runs-empty", "judge": 2, "config_hash": "2ffbab2b27e53653", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2-dense -o encoder__Scale-Balanced-Grasp__PointNet2Dense.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNet2Dense.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1729100, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8673, 0.3537], "loss/view": [0.2828, 0.1199], "loss/score": [0.04732, 0.02558], "loss/angle": [0.5135, 0.4478], "loss/width": [0.6532, 0.1107], "loss/tolerance": [1.296, 0.2044], "loss": [3.66, 1.262]}, "trend": {"loss/objectness": [0.8673, 0.3484, 0.598], "loss/view": [0.2828, 0.1253, 0.557], "loss/score": [0.04732, 0.01962, 0.585], "loss/angle": [0.5135, 0.4286, 0.165], "loss/width": [0.6532, 0.1107, 0.83], "loss/tolerance": [1.296, 0.2357, 0.818], "loss": [3.66, 1.268, 0.653]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.352, "peak_gpu_mib": 9205.3, "seconds": 15.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointNet2MSG", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnet2-msg"], "slot": "backbone", "component": "PointNet2MSG", "variant": "pointnet2-msg", "verdict": "runs", "judge": 2, "config_hash": "92116cccd7586de7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2-msg -o encoder__GSNet__PointNet2MSG.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe encoder__GSNet__PointNet2MSG.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1606639, "iterations": 20, "batch_size": 4, "grasps_per_frame": [158, 1024], "frames": 8, "losses": {"loss/objectness": [0.732, 0.595], "loss/graspness": [1.285, 0.3229], "loss/view": [2.185, 0.4342], "loss/score": [0.6762, 0.07126], "loss/width": [2.293, 0.1839], "loss": [7.171, 1.607]}, "trend": {"loss/objectness": [0.732, 0.615, 0.16], "loss/graspness": [1.285, 0.3246, 0.747], "loss/view": [2.185, 0.4174, 0.809], "loss/score": [0.6762, 0.07852, 0.884], "loss/width": [2.293, 0.2128, 0.907], "loss": [7.171, 1.648, 0.77]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.09751, 0.1677, 0.2311], [0.1688, 0.3581, 0.557]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 4112.5, "seconds": 15.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNet2MSG", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnet2-msg"], "slot": "backbone", "component": "PointNet2MSG", "variant": "pointnet2-msg", "verdict": "runs", "judge": 2, "config_hash": "5b5a19c252b6c6f7", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-msg -o encoder__EconomicGrasp__PointNet2MSG.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe encoder__EconomicGrasp__PointNet2MSG.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2003102, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7303, 0.6314], "loss/graspness": [1.034, 0.3709], "loss/view": [2.441, 0.774], "loss/angle": [2.874, 0.8614], "loss/depth": [2.481, 0.4775], "loss/score": [1.388, 0.7157], "loss/width": [0.6994, 0.9373], "loss": [11.65, 4.768]}, "trend": {"loss/objectness": [0.7303, 0.6425, 0.12], "loss/graspness": [1.034, 0.3664, 0.646], "loss/view": [2.441, 0.7723, 0.684], "loss/angle": [2.874, 0.8445, 0.706], "loss/depth": [2.481, 0.529, 0.787], "loss/score": [1.388, 0.7166, 0.484], "loss/width": [0.6994, 0.8153, -0.166], "loss": [11.65, 4.687, 0.598]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.12, "mean": 0.149, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.051, -1.219, -0.6143], [-1.847, -1.157, -0.5967]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 4363.7, "seconds": 17.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNet2MSG", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnet2-msg"], "slot": "backbone", "component": "PointNet2MSG", "variant": "pointnet2-msg", "verdict": "runs-empty", "judge": 2, "config_hash": "3060d96f0066e62e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-msg -o encoder__FineGrasp__PointNet2MSG.yaml", "adapter": "FeaturePropagation", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNet2MSG.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 5191809, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7506, 0.444], "loss/graspness": [2.072, 0.2497], "loss/view": [2.256, 0.7136], "loss/angle": [2.721, 1.038], "loss/depth": [1.983, 0.612], "loss/score": [1.983, 0.8868], "loss/width": [1.776, 0.8685], "loss": [13.54, 4.813]}, "trend": {"loss/objectness": [0.7506, 0.4502, 0.4], "loss/graspness": [2.072, 0.3008, 0.855], "loss/view": [2.256, 0.674, 0.701], "loss/angle": [2.721, 0.9798, 0.64], "loss/depth": [1.983, 0.5715, 0.712], "loss/score": [1.983, 0.8417, 0.575], "loss/width": [1.776, 0.8284, 0.533], "loss": [13.54, 4.646, 0.657]}, "real_seeds": {"min": 0.786, "mean": 0.986, "zero_iterations": 0}, "supervised_seeds": {"min": 0.06, "mean": 0.164, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.623, "peak_gpu_mib": 16087.8, "seconds": 48.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointNet2MSG", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2-msg"], "slot": "backbone", "component": "PointNet2MSG", "variant": "pointnet2-msg", "verdict": "runs", "judge": 2, "config_hash": "341a5d35eaa92cb1", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2-msg -o encoder__GraspNet-baseline__PointNet2MSG.yaml", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNet2MSG.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1491660, "iterations": 20, "batch_size": 2, "grasps_per_frame": [651, 678], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7826, 0.4998], "loss/view": [0.1929, 0.06929], "loss/score": [0.05464, 0.02875], "loss/angle": [0.5107, 0.4329], "loss/width": [0.6366, 0.1751], "loss/tolerance": [0.9055, 0.3432], "loss": [3.083, 1.549]}, "trend": {"loss/objectness": [0.7826, 0.5323, 0.32], "loss/view": [0.1929, 0.0694, 0.64], "loss/score": [0.05464, 0.02682, 0.509], "loss/angle": [0.5107, 0.4373, 0.144], "loss/width": [0.6366, 0.1812, 0.715], "loss/tolerance": [0.9055, 0.3965, 0.562], "loss": [3.083, 1.644, 0.467]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-13.65, -0.544, 11.31], [-23.67, -0.2284, 10.1]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.249, "peak_gpu_mib": 4373.7, "seconds": 12.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNet2MSG", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2-msg"], "slot": "backbone", "component": "PointNet2MSG", "variant": "pointnet2-msg", "verdict": "runs", "judge": 2, "config_hash": "d9166249c08ec217", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2-msg -o encoder__Scale-Balanced-Grasp__PointNet2MSG.yaml", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNet2MSG.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1945996, "iterations": 20, "batch_size": 2, "grasps_per_frame": [3, 77], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.5692, 0.2891], "loss/view": [0.2781, 0.1135], "loss/score": [0.04252, 0.02521], "loss/angle": [0.5634, 0.4487], "loss/width": [0.5943, 0.1006], "loss/tolerance": [0.9747, 0.195], "loss": [3.022, 1.172]}, "trend": {"loss/objectness": [0.5692, 0.2844, 0.5], "loss/view": [0.2781, 0.1269, 0.544], "loss/score": [0.04252, 0.02017, 0.526], "loss/angle": [0.5634, 0.4415, 0.216], "loss/width": [0.5943, 0.09989, 0.832], "loss/tolerance": [0.9747, 0.2055, 0.789], "loss": [3.022, 1.178, 0.61]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-6.522, -4.138, 1.674], [-11.42, -0.665, 18.49]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.367, "peak_gpu_mib": 9825.2, "seconds": 16.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointNet2MSGDense", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnet2-msg-dense"], "slot": "backbone", "component": "PointNet2MSGDense", "variant": "pointnet2-msg-dense", "verdict": "runs", "judge": 2, "config_hash": "52cab45869988fa5", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2-msg-dense -o encoder__GSNet__PointNet2MSGDense.yaml", "probe": "grasppanda probe encoder__GSNet__PointNet2MSGDense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2340719, "iterations": 20, "batch_size": 4, "grasps_per_frame": [15, 276], "frames": 8, "losses": {"loss/objectness": [0.7418, 0.5415], "loss/graspness": [2.132, 0.2972], "loss/view": [1.75, 0.5567], "loss/score": [1.079, 0.08935], "loss/width": [2.732, 0.2316], "loss": [8.435, 1.716]}, "trend": {"loss/objectness": [0.7418, 0.5741, 0.226], "loss/graspness": [2.132, 0.3307, 0.845], "loss/view": [1.75, 0.5218, 0.702], "loss/score": [1.079, 0.106, 0.902], "loss/width": [2.732, 0.232, 0.915], "loss": [8.435, 1.765, 0.791]}, "real_seeds": {"min": 0.475, "mean": 0.964, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.158, 0.1778, 0.2218], [0.122, 0.2427, 0.3047]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 3376.0, "seconds": 14.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNet2MSGDense", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnet2-msg-dense"], "slot": "backbone", "component": "PointNet2MSGDense", "variant": "pointnet2-msg-dense", "verdict": "runs", "judge": 2, "config_hash": "ea1817510ce28803", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-msg-dense -o encoder__EconomicGrasp__PointNet2MSGDense.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointNet2MSGDense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2737182, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7244, 0.6017], "loss/graspness": [2.096, 0.3384], "loss/view": [1.998, 0.8485], "loss/angle": [2.645, 0.8187], "loss/depth": [1.649, 0.5071], "loss/score": [2.37, 0.7331], "loss/width": [1.164, 0.7211], "loss": [12.65, 4.569]}, "trend": {"loss/objectness": [0.7244, 0.6153, 0.151], "loss/graspness": [2.096, 0.3487, 0.834], "loss/view": [1.998, 0.8585, 0.57], "loss/angle": [2.645, 0.8399, 0.682], "loss/depth": [1.649, 0.4974, 0.698], "loss/score": [2.37, 0.7174, 0.697], "loss/width": [1.164, 0.8677, 0.254], "loss": [12.65, 4.745, 0.625]}, "real_seeds": {"min": 0.771, "mean": 0.981, "zero_iterations": 0}, "supervised_seeds": {"min": 0.071, "mean": 0.16, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.802, -2.455, -2.14], [-2.85, -2.529, -1.929]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.173, "peak_gpu_mib": 3629.3, "seconds": 15.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNet2MSGDense", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnet2-msg-dense"], "slot": "backbone", "component": "PointNet2MSGDense", "variant": "pointnet2-msg-dense", "verdict": "runs", "judge": 2, "config_hash": "7f9a7f9023786e86", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-msg-dense -o encoder__FineGrasp__PointNet2MSGDense.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNet2MSGDense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 5925601, "iterations": 20, "batch_size": 8, "grasps_per_frame": [166, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7407, 0.2467], "loss/graspness": [0.7927, 0.1508], "loss/view": [2.132, 0.743], "loss/angle": [2.913, 1.118], "loss/depth": [2.372, 0.5994], "loss/score": [3.297, 0.9556], "loss/width": [4.626, 0.7417], "loss": [16.87, 4.555]}, "trend": {"loss/objectness": [0.7407, 0.2721, 0.633], "loss/graspness": [0.7927, 0.1741, 0.78], "loss/view": [2.132, 0.7672, 0.64], "loss/angle": [2.913, 1.091, 0.625], "loss/depth": [2.372, 0.5866, 0.753], "loss/score": [3.297, 0.9268, 0.719], "loss/width": [4.626, 0.7383, 0.84], "loss": [16.87, 4.556, 0.73]}, "real_seeds": {"min": 0.947, "mean": 0.997, "zero_iterations": 0}, "supervised_seeds": {"min": 0.115, "mean": 0.228, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[-2.121, -2.12, -2.12], null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.6, "peak_gpu_mib": 14609.2, "seconds": 48.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointNet2MSGDense", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2-msg-dense"], "slot": "backbone", "component": "PointNet2MSGDense", "variant": "pointnet2-msg-dense", "verdict": "runs", "judge": 2, "config_hash": "dca7ca6522d325d4", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2-msg-dense -o encoder__GraspNet-baseline__PointNet2MSGDense.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNet2MSGDense.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2357836, "iterations": 20, "batch_size": 2, "grasps_per_frame": [480, 460], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.742, 0.423], "loss/view": [0.1911, 0.04746], "loss/score": [0.09806, 0.029], "loss/angle": [0.5071, 0.4261], "loss/width": [0.4956, 0.1691], "loss/tolerance": [0.875, 0.397], "loss": [2.909, 1.492]}, "trend": {"loss/objectness": [0.742, 0.4673, 0.37], "loss/view": [0.1911, 0.04971, 0.74], "loss/score": [0.09806, 0.03167, 0.677], "loss/angle": [0.5071, 0.4165, 0.179], "loss/width": [0.4956, 0.1646, 0.668], "loss/tolerance": [0.875, 0.3958, 0.548], "loss": [2.909, 1.526, 0.476]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-16.44, -1.185, 14.17], [-18.95, -1.195, 10.37]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.257, "peak_gpu_mib": 4209.6, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNet2MSGDense", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2-msg-dense"], "slot": "backbone", "component": "PointNet2MSGDense", "variant": "pointnet2-msg-dense", "verdict": "runs", "judge": 2, "config_hash": "4b5c72e4f74e58d3", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2-msg-dense -o encoder__Scale-Balanced-Grasp__PointNet2MSGDense.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointNet2MSGDense.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 2812172, "iterations": 20, "batch_size": 2, "grasps_per_frame": [98, 97], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6034, 0.2822], "loss/view": [0.2737, 0.1134], "loss/score": [0.04512, 0.02401], "loss/angle": [0.5017, 0.4201], "loss/width": [0.6243, 0.0989], "loss/tolerance": [1.236, 0.2056], "loss": [3.284, 1.144]}, "trend": {"loss/objectness": [0.6034, 0.2949, 0.511], "loss/view": [0.2737, 0.1264, 0.538], "loss/score": [0.04512, 0.02003, 0.556], "loss/angle": [0.5017, 0.4144, 0.174], "loss/width": [0.6243, 0.1199, 0.808], "loss/tolerance": [1.236, 0.2575, 0.792], "loss": [3.284, 1.233, 0.625]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-6.601, -0.1335, 73.03], [-10.17, -0.294, 5.179]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.328, "peak_gpu_mib": 9660.8, "seconds": 16.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointNet2Transformer", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointnet2-transformer"], "slot": "backbone", "component": "PointNet2Transformer", "variant": "pointnet2-transformer", "verdict": "runs-empty", "judge": 2, "config_hash": "85cb37c7d208faf1", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2-transformer -o encoder__GSNet__PointNet2Transformer.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe encoder__GSNet__PointNet2Transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1237839, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7898, 0.6097], "loss/graspness": [0.7729, 0.3458], "loss/view": [1.648, 0.4345], "loss/score": [0.5319, 0.07363], "loss/width": [2.464, 0.2377], "loss": [6.207, 1.701]}, "trend": {"loss/objectness": [0.7898, 0.6163, 0.22], "loss/graspness": [0.7729, 0.3213, 0.584], "loss/view": [1.648, 0.4359, 0.736], "loss/score": [0.5319, 0.08711, 0.836], "loss/width": [2.464, 0.2266, 0.908], "loss": [6.207, 1.687, 0.728]}, "real_seeds": {"min": 0.912, "mean": 0.991, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.243, "peak_gpu_mib": 3704.2, "seconds": 14.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointNet2Transformer", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointnet2-transformer"], "slot": "backbone", "component": "PointNet2Transformer", "variant": "pointnet2-transformer", "verdict": "runs", "judge": 2, "config_hash": "b007e422786febc8", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-transformer -o encoder__EconomicGrasp__PointNet2Transformer.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe encoder__EconomicGrasp__PointNet2Transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1634302, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7391, 0.6529], "loss/graspness": [0.7787, 0.3466], "loss/view": [2.131, 0.8215], "loss/angle": [2.488, 0.8307], "loss/depth": [1.608, 0.52], "loss/score": [2.6, 0.698], "loss/width": [4.797, 0.8051], "loss": [15.14, 4.675]}, "trend": {"loss/objectness": [0.7391, 0.6465, 0.125], "loss/graspness": [0.7787, 0.3825, 0.509], "loss/view": [2.131, 0.8499, 0.601], "loss/angle": [2.488, 0.7891, 0.683], "loss/depth": [1.608, 0.5036, 0.687], "loss/score": [2.6, 0.6869, 0.736], "loss/width": [4.797, 0.8063, 0.832], "loss": [15.14, 4.665, 0.692]}, "real_seeds": {"min": 0.903, "mean": 0.995, "zero_iterations": 0}, "supervised_seeds": {"min": 0.056, "mean": 0.126, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.67, -2.37, -2.085], [-3.044, -2.412, -2.187]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.189, "peak_gpu_mib": 3954.3, "seconds": 14.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointNet2Transformer", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointnet2-transformer"], "slot": "backbone", "component": "PointNet2Transformer", "variant": "pointnet2-transformer", "verdict": "runs-empty", "judge": 2, "config_hash": "f89b759ed883a507", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2-transformer -o encoder__FineGrasp__PointNet2Transformer.yaml", "adapter": "FeaturePropagation", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointNet2Transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4822817, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7742, 0.4774], "loss/graspness": [1.215, 0.2672], "loss/view": [2.03, 0.6554], "loss/angle": [2.938, 1.014], "loss/depth": [2.046, 0.5897], "loss/score": [1.849, 0.8677], "loss/width": [1.26, 0.8332], "loss": [12.11, 4.705]}, "trend": {"loss/objectness": [0.7742, 0.4819, 0.378], "loss/graspness": [1.215, 0.2963, 0.756], "loss/view": [2.03, 0.6603, 0.675], "loss/angle": [2.938, 0.9624, 0.672], "loss/depth": [2.046, 0.5663, 0.723], "loss/score": [1.849, 0.8297, 0.551], "loss/width": [1.26, 0.8036, 0.362], "loss": [12.11, 4.601, 0.62]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.076, "mean": 0.163, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.711, "peak_gpu_mib": 15263.4, "seconds": 51.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointNet2Transformer", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2-transformer"], "slot": "backbone", "component": "PointNet2Transformer", "variant": "pointnet2-transformer", "verdict": "runs", "judge": 2, "config_hash": "eb56806c06a30d7e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2-transformer -o encoder__GraspNet-baseline__PointNet2Transformer.yaml", "probe": "grasppanda probe encoder__GraspNet-baseline__PointNet2Transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1122860, "iterations": 20, "batch_size": 2, "grasps_per_frame": [985, 1012], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6949, 0.5187], "loss/view": [0.195, 0.07506], "loss/score": [0.09652, 0.0336], "loss/angle": [0.5005, 0.4653], "loss/width": [0.7695, 0.1337], "loss/tolerance": [1.121, 0.3941], "loss": [3.377, 1.62]}, "trend": {"loss/objectness": [0.6949, 0.5925, 0.147], "loss/view": [0.195, 0.07716, 0.604], "loss/score": [0.09652, 0.03357, 0.652], "loss/angle": [0.5005, 0.4403, 0.12], "loss/width": [0.7695, 0.1593, 0.793], "loss/tolerance": [1.121, 0.3641, 0.675], "loss": [3.377, 1.667, 0.506]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-33.59, -0.793, 29.68], [-31.15, -1.088, 25.68]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.232, "peak_gpu_mib": 4165.0, "seconds": 12.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointNet2Transformer", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2-transformer"], "slot": "backbone", "component": "PointNet2Transformer", "variant": "pointnet2-transformer", "verdict": "runs-empty", "judge": 2, "config_hash": "61901898cd133251", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2-transformer -o encoder__Scale-Balanced-Grasp__PointNet2Transformer.yaml", "probed_as": "reference/Scale-Balanced-Grasp", "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointTransformerV1", "group": "encoder", "method": "GSNet", "sets": ["backbone=point-transformer-v1"], "slot": "backbone", "component": "PointTransformerV1", "variant": "point-transformer-v1", "verdict": "runs", "judge": 2, "config_hash": "b25a6ec8d33a3d7a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=point-transformer-v1 -o encoder__GSNet__PointTransformerV1.yaml", "probe": "grasppanda probe encoder__GSNet__PointTransformerV1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 5577379, "iterations": 20, "batch_size": 4, "grasps_per_frame": [31, 66], "frames": 8, "losses": {"loss/objectness": [0.7026, 0.5352], "loss/graspness": [0.6501, 0.2421], "loss/view": [1.805, 0.3701], "loss/score": [1.035, 0.08779], "loss/width": [3.097, 0.302], "loss": [7.29, 1.537]}, "trend": {"loss/objectness": [0.7026, 0.5716, 0.186], "loss/graspness": [0.6501, 0.2614, 0.598], "loss/view": [1.805, 0.3585, 0.801], "loss/score": [1.035, 0.08977, 0.913], "loss/width": [3.097, 0.285, 0.908], "loss": [7.29, 1.566, 0.785]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[0.1682, 0.1843, 0.1866], [0.1741, 0.1829, 0.1852]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.458, "peak_gpu_mib": 3665.9, "seconds": 19.8}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointTransformerV1", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=point-transformer-v1"], "slot": "backbone", "component": "PointTransformerV1", "variant": "point-transformer-v1", "verdict": "runs-empty", "judge": 2, "config_hash": "60e43a7569bcd449", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=point-transformer-v1 -o encoder__EconomicGrasp__PointTransformerV1.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointTransformerV1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 5973842, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7026, 0.5811], "loss/graspness": [0.6134, 0.2307], "loss/view": [2.38, 0.7197], "loss/angle": [2.499, 0.7806], "loss/depth": [1.587, 0.391], "loss/score": [1.645, 0.6611], "loss/width": [5.791, 0.7412], "loss": [15.22, 4.105]}, "trend": {"loss/objectness": [0.7026, 0.6174, 0.121], "loss/graspness": [0.6134, 0.2492, 0.594], "loss/view": [2.38, 0.7385, 0.69], "loss/angle": [2.499, 0.8369, 0.665], "loss/depth": [1.587, 0.4493, 0.717], "loss/score": [1.645, 0.7096, 0.569], "loss/width": [5.791, 0.7258, 0.875], "loss": [15.22, 4.327, 0.716]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.124, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.52, "peak_gpu_mib": 4644.3, "seconds": 23.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointTransformerV1", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=point-transformer-v1"], "slot": "backbone", "component": "PointTransformerV1", "variant": "point-transformer-v1", "verdict": "runs", "judge": 2, "config_hash": "260ab7bd70b5efa0", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=point-transformer-v1 -o encoder__FineGrasp__PointTransformerV1.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointTransformerV1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 9357141, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7321, 0.232], "loss/graspness": [1.116, 0.133], "loss/view": [2.116, 0.747], "loss/angle": [2.625, 1.282], "loss/depth": [0.8937, 0.6639], "loss/score": [2.281, 1.062], "loss/width": [1.359, 0.7998], "loss": [11.12, 4.919]}, "trend": {"loss/objectness": [0.7321, 0.2079, 0.716], "loss/graspness": [1.116, 0.1551, 0.861], "loss/view": [2.116, 0.7487, 0.646], "loss/angle": [2.625, 1.255, 0.522], "loss/depth": [0.8937, 0.6799, 0.239], "loss/score": [2.281, 1.057, 0.536], "loss/width": [1.359, 0.8067, 0.406], "loss": [11.12, 4.911, 0.558]}, "flags": {"loss/angle": ["rising"], "loss/depth": ["rising"], "loss/score": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.11, "mean": 0.236, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.654, -1.654, -1.654], [-1.654, -1.654, -1.654]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.175, "peak_gpu_mib": 16919.5, "seconds": 73.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointTransformerV1", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=point-transformer-v1"], "slot": "backbone", "component": "PointTransformerV1", "variant": "point-transformer-v1", "verdict": "runs-empty", "judge": 2, "config_hash": "8652827202817cbe", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=point-transformer-v1 -o encoder__GraspNet-baseline__PointTransformerV1.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PointTransformerV1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 5245568, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7195, 0.4158], "loss/view": [0.1829, 0.06314], "loss/score": [0.08177, 0.03089], "loss/angle": [0.5458, 0.4338], "loss/width": [0.7834, 0.1634], "loss/tolerance": [1.154, 0.4446], "loss": [3.468, 1.552]}, "trend": {"loss/objectness": [0.7195, 0.4238, 0.411], "loss/view": [0.1829, 0.04761, 0.74], "loss/score": [0.08177, 0.03002, 0.633], "loss/angle": [0.5458, 0.4371, 0.199], "loss/width": [0.7834, 0.1863, 0.762], "loss/tolerance": [1.154, 0.4231, 0.634], "loss": [3.468, 1.548, 0.554]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.514, "peak_gpu_mib": 4633.2, "seconds": 18.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointTransformerV1", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=point-transformer-v1"], "slot": "backbone", "component": "PointTransformerV1", "variant": "point-transformer-v1", "verdict": "runs-empty", "judge": 2, "config_hash": "b657ec1f23ee905f", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=point-transformer-v1 -o encoder__Scale-Balanced-Grasp__PointTransformerV1.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointTransformerV1.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 5699904, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6805, 0.3065], "loss/view": [0.3722, 0.1905], "loss/score": [0.01716, 0.02316], "loss/angle": [0.5129, 0.4529], "loss/width": [0.4857, 0.0543], "loss/tolerance": [0.8007, 0.2403], "loss": [2.869, 1.268]}, "trend": {"loss/objectness": [0.6805, 0.3132, 0.54], "loss/view": [0.3722, 0.1297, 0.652], "loss/score": [0.01716, 0.01997, -0.163], "loss/angle": [0.5129, 0.4463, 0.13], "loss/width": [0.4857, 0.07797, 0.839], "loss/tolerance": [0.8007, 0.2501, 0.688], "loss": [2.869, 1.237, 0.569]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.67, "peak_gpu_mib": 10084.7, "seconds": 21.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointTransformerV2", "group": "encoder", "method": "GSNet", "sets": ["backbone=point-transformer-v2"], "slot": "backbone", "component": "PointTransformerV2", "variant": "point-transformer-v2", "verdict": "runs", "judge": 2, "config_hash": "679ea43bcf247098", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=point-transformer-v2 -o encoder__GSNet__PointTransformerV2.yaml", "probe": "grasppanda probe encoder__GSNet__PointTransformerV2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12053303, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7092, 0.3827], "loss/graspness": [0.7237, 0.2248], "loss/view": [0.9495, 0.586], "loss/score": [0.9261, 0.06367], "loss/width": [2.965, 0.2616], "loss": [6.273, 1.519]}, "trend": {"loss/objectness": [0.7092, 0.4232, 0.403], "loss/graspness": [0.7237, 0.221, 0.695], "loss/view": [0.9495, 0.5328, 0.439], "loss/score": [0.9261, 0.09153, 0.901], "loss/width": [2.965, 0.2167, 0.927], "loss": [6.273, 1.485, 0.763]}, "real_seeds": {"min": 0.817, "mean": 0.991, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[0.1309, 0.1538, 0.1675], [0.1244, 0.1522, 0.1654]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.426, "peak_gpu_mib": 4527.9, "seconds": 24.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointTransformerV2", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=point-transformer-v2"], "slot": "backbone", "component": "PointTransformerV2", "variant": "point-transformer-v2", "verdict": "runs-empty", "judge": 2, "config_hash": "db7fdd754bb27868", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=point-transformer-v2 -o encoder__EconomicGrasp__PointTransformerV2.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointTransformerV2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12449766, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7439, 0.5382], "loss/graspness": [0.6991, 0.2218], "loss/view": [1.339, 0.7221], "loss/angle": [3.324, 0.7962], "loss/depth": [1.923, 0.443], "loss/score": [2.058, 0.6976], "loss/width": [2.697, 0.696], "loss": [12.78, 4.115]}, "trend": {"loss/objectness": [0.7439, 0.5933, 0.202], "loss/graspness": [0.6991, 0.249, 0.644], "loss/view": [1.339, 0.7374, 0.449], "loss/angle": [3.324, 0.8851, 0.734], "loss/depth": [1.923, 0.4792, 0.751], "loss/score": [2.058, 0.7559, 0.633], "loss/width": [2.697, 0.7817, 0.71], "loss": [12.78, 4.482, 0.649]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.387, "peak_gpu_mib": 5394.4, "seconds": 26.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointTransformerV2", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=point-transformer-v2"], "slot": "backbone", "component": "PointTransformerV2", "variant": "point-transformer-v2", "verdict": "runs", "judge": 2, "config_hash": "ee3a8cf5f3c21c60", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=point-transformer-v2 -o encoder__FineGrasp__PointTransformerV2.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointTransformerV2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15833113, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7081, 0.1577], "loss/graspness": [0.7719, 0.107], "loss/view": [1.736, 0.7666], "loss/angle": [2.812, 1.247], "loss/depth": [1.095, 0.6568], "loss/score": [1.669, 1.032], "loss/width": [3.952, 0.747], "loss": [12.75, 4.714]}, "trend": {"loss/objectness": [0.7081, 0.1785, 0.748], "loss/graspness": [0.7719, 0.1275, 0.835], "loss/view": [1.736, 0.7661, 0.559], "loss/angle": [2.812, 1.192, 0.576], "loss/depth": [1.095, 0.6342, 0.421], "loss/score": [1.669, 1.008, 0.396], "loss/width": [3.952, 0.7483, 0.811], "loss": [12.75, 4.654, 0.635]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.11, "mean": 0.253, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-1.522, -1.522, -1.522], [-1.522, -1.522, -1.522]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.31, "peak_gpu_mib": 18256.9, "seconds": 73.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointTransformerV2", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=point-transformer-v2"], "slot": "backbone", "component": "PointTransformerV2", "variant": "point-transformer-v2", "verdict": "runs-empty", "judge": 2, "config_hash": "75ac0405e95f4bb5", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=point-transformer-v2 -o encoder__GraspNet-baseline__PointTransformerV2.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PointTransformerV2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 11717396, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7125, 0.4131], "loss/view": [0.2163, 0.04504], "loss/score": [0.08251, 0.03248], "loss/angle": [0.496, 0.4095], "loss/width": [0.5079, 0.1347], "loss/tolerance": [1.265, 0.319], "loss": [3.28, 1.354]}, "trend": {"loss/objectness": [0.7125, 0.4114, 0.423], "loss/view": [0.2163, 0.04362, 0.798], "loss/score": [0.08251, 0.02726, 0.67], "loss/angle": [0.496, 0.4139, 0.166], "loss/width": [0.5079, 0.1563, 0.692], "loss/tolerance": [1.265, 0.3302, 0.739], "loss": [3.28, 1.383, 0.578]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.435, "peak_gpu_mib": 5079.2, "seconds": 16.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointTransformerV2", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=point-transformer-v2"], "slot": "backbone", "component": "PointTransformerV2", "variant": "point-transformer-v2", "verdict": "runs-empty", "judge": 2, "config_hash": "c188af006433cbf6", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=point-transformer-v2 -o encoder__Scale-Balanced-Grasp__PointTransformerV2.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointTransformerV2.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 12171732, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7663, 0.2631], "loss/view": [0.4719, 0.1045], "loss/score": [0.03997, 0.02372], "loss/angle": [0.5088, 0.4392], "loss/width": [0.3361, 0.04678], "loss/tolerance": [0.5161, 0.1338], "loss": [2.639, 1.011]}, "trend": {"loss/objectness": [0.7663, 0.2683, 0.65], "loss/view": [0.4719, 0.1138, 0.759], "loss/score": [0.03997, 0.02341, 0.414], "loss/angle": [0.5088, 0.4419, 0.131], "loss/width": [0.3361, 0.0553, 0.835], "loss/tolerance": [0.5161, 0.128, 0.752], "loss": [2.639, 1.031, 0.609]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.593, "peak_gpu_mib": 10531.1, "seconds": 21.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointVector@pointvector-xl", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointvector-xl"], "slot": "backbone", "component": "PointVector", "variant": "pointvector-xl", "verdict": "runs", "judge": 2, "config_hash": "5e47408fb138b927", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointvector-xl -o encoder__GSNet__PointVector@pointvector-xl.yaml", "probe": "grasppanda probe encoder__GSNet__PointVector@pointvector-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 24290831, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7104, 0.442], "loss/graspness": [0.8495, 0.1813], "loss/view": [1.909, 0.7288], "loss/score": [2.055, 0.07344], "loss/width": [2.912, 0.1915], "loss": [8.437, 1.617]}, "trend": {"loss/objectness": [0.7104, 0.4519, 0.364], "loss/graspness": [0.8495, 0.1917, 0.774], "loss/view": [1.909, 0.7285, 0.618], "loss/score": [2.055, 0.0832, 0.96], "loss/width": [2.912, 0.184, 0.937], "loss": [8.437, 1.639, 0.806]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.08107, 0.1398, 0.1986], [0.07479, 0.1465, 0.2196]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.581, "peak_gpu_mib": 8558.6, "seconds": 28.4}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PointVector@pointvector", "group": "encoder", "method": "GSNet", "sets": ["backbone=pointvector"], "slot": "backbone", "component": "PointVector", "variant": "pointvector", "verdict": "runs-empty", "judge": 2, "config_hash": "f37a18f1720a6a6b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointvector -o encoder__GSNet__PointVector@pointvector.yaml", "probe": "grasppanda probe encoder__GSNet__PointVector@pointvector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4390735, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.725, 0.662], "loss/graspness": [2.752, 0.6526], "loss/view": [3.344, 1.202], "loss/score": [1.513, 0.1287], "loss/width": [3.314, 0.5873], "loss": [11.65, 3.232]}, "trend": {"loss/objectness": [0.725, 0.674, 0.07], "loss/graspness": [2.752, 0.8866, 0.678], "loss/view": [3.344, 1.418, 0.576], "loss/score": [1.513, 0.1489, 0.902], "loss/width": [3.314, 0.4582, 0.862], "loss": [11.65, 3.586, 0.692]}, "real_seeds": {"min": 0.041, "mean": 0.149, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.24, "peak_gpu_mib": 3737.0, "seconds": 17.8}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointVector@pointvector-xl", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointvector-xl"], "slot": "backbone", "component": "PointVector", "variant": "pointvector-xl", "verdict": "runs", "judge": 2, "config_hash": "20ce5ac9f2ae2f2d", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointvector-xl -o encoder__EconomicGrasp__PointVector@pointvector-xl.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointVector@pointvector-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 24687294, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7406, 0.5098], "loss/graspness": [0.7472, 0.2293], "loss/view": [2.321, 0.936], "loss/angle": [2.411, 0.8201], "loss/depth": [1.133, 0.4674], "loss/score": [2.049, 0.7069], "loss/width": [2.805, 0.7519], "loss": [12.21, 4.421]}, "trend": {"loss/objectness": [0.7406, 0.535, 0.278], "loss/graspness": [0.7472, 0.2704, 0.638], "loss/view": [2.321, 0.9746, 0.58], "loss/angle": [2.411, 0.8352, 0.654], "loss/depth": [1.133, 0.4831, 0.574], "loss/score": [2.049, 0.7092, 0.654], "loss/width": [2.805, 0.7893, 0.719], "loss": [12.21, 4.597, 0.623]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.121, "mean": 0.154, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.838, -2.4, -2.153], [-2.779, -2.354, -2.06]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.829, "peak_gpu_mib": 11142.8, "seconds": 30.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointVector@pointvector", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pointvector"], "slot": "backbone", "component": "PointVector", "variant": "pointvector", "verdict": "runs-empty", "judge": 2, "config_hash": "9397b1ce16aa4fcf", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointvector -o encoder__EconomicGrasp__PointVector@pointvector.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__PointVector@pointvector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4787198, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7253, 0.6862], "loss/graspness": [2.748, 1.124], "loss/view": [3.917, 2.078], "loss/angle": [2.474, 0.9137], "loss/depth": [1.418, 0.5448], "loss/score": [2.889, 0.7834], "loss/width": [0.9107, 1.009], "loss": [15.08, 7.14]}, "trend": {"loss/objectness": [0.7253, 0.6869, 0.053], "loss/graspness": [2.748, 1.229, 0.553], "loss/view": [3.917, 2.084, 0.468], "loss/angle": [2.474, 0.8301, 0.665], "loss/depth": [1.418, 0.5054, 0.644], "loss/score": [2.889, 0.7032, 0.757], "loss/width": [0.9107, 0.8304, 0.088], "loss": [15.08, 6.869, 0.545]}, "real_seeds": {"min": 0.038, "mean": 0.213, "zero_iterations": 0}, "supervised_seeds": {"min": 0.003, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.535, "peak_gpu_mib": 4803.3, "seconds": 23.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointVector@pointvector-xl", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointvector-xl"], "slot": "backbone", "component": "PointVector", "variant": "pointvector-xl", "verdict": "runs", "judge": 2, "config_hash": "b42794486a7c1287", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointvector-xl -o encoder__FineGrasp__PointVector@pointvector-xl.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointVector@pointvector-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 27726625, "iterations": 20, "batch_size": 8, "grasps_per_frame": [180, 312], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.764, 0.2125], "loss/graspness": [0.7524, 0.1259], "loss/view": [1.994, 0.9005], "loss/angle": [2.248, 1.156], "loss/depth": [1.518, 0.6269], "loss/score": [1.716, 0.986], "loss/width": [1.48, 0.7628], "loss": [10.47, 4.77]}, "trend": {"loss/objectness": [0.764, 0.2335, 0.694], "loss/graspness": [0.7524, 0.1385, 0.816], "loss/view": [1.994, 0.9141, 0.542], "loss/angle": [2.248, 1.105, 0.509], "loss/depth": [1.518, 0.6102, 0.598], "loss/score": [1.716, 0.9357, 0.455], "loss/width": [1.48, 0.7589, 0.487], "loss": [10.47, 4.696, 0.552]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.117, "mean": 0.288, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[-0.9143, -0.914, -0.9138], [-0.9142, -0.914, -0.9138]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.164, "peak_gpu_mib": 28913.1, "seconds": 57.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointVector@pointvector", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pointvector"], "slot": "backbone", "component": "PointVector", "variant": "pointvector", "verdict": "runs", "judge": 2, "config_hash": "541b332b99e5e28f", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pointvector -o encoder__FineGrasp__PointVector@pointvector.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__PointVector@pointvector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 7801857, "iterations": 20, "batch_size": 8, "grasps_per_frame": [653, 680], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.3638], "loss/graspness": [0.8211, 0.1867], "loss/view": [3.41, 1.043], "loss/angle": [2.583, 0.7584], "loss/depth": [2.052, 0.4161], "loss/score": [2.14, 0.6555], "loss/width": [1.308, 0.8746], "loss": [13.1, 4.298]}, "trend": {"loss/objectness": [0.7845, 0.4011, 0.489], "loss/graspness": [0.8211, 0.2021, 0.754], "loss/view": [3.41, 1.092, 0.68], "loss/angle": [2.583, 0.7391, 0.714], "loss/depth": [2.052, 0.432, 0.789], "loss/score": [2.14, 0.6404, 0.701], "loss/width": [1.308, 0.8267, 0.368], "loss": [13.1, 4.333, 0.669]}, "real_seeds": {"min": 0.86, "mean": 0.985, "zero_iterations": 0}, "supervised_seeds": {"min": 0.089, "mean": 0.221, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[-2.716, -2.716, -2.716], [-2.716, -2.716, -2.716]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.634, "peak_gpu_mib": 16496.6, "seconds": 46.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointVector@pointvector-xl", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointvector-xl"], "slot": "backbone", "component": "PointVector", "variant": "pointvector-xl", "verdict": "runs", "judge": 2, "config_hash": "78421dd219a5c74c", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointvector-xl -o encoder__GraspNet-baseline__PointVector@pointvector-xl.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointVector@pointvector-xl.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 24356908, "iterations": 20, "batch_size": 2, "grasps_per_frame": [384, 416], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7413, 0.4919], "loss/view": [0.191, 0.04546], "loss/score": [0.06084, 0.04203], "loss/angle": [0.4943, 0.4409], "loss/width": [0.3613, 0.1552], "loss/tolerance": [0.9108, 0.3942], "loss": [2.76, 1.57]}, "trend": {"loss/objectness": [0.7413, 0.466, 0.371], "loss/view": [0.191, 0.04533, 0.763], "loss/score": [0.06084, 0.03692, 0.393], "loss/angle": [0.4943, 0.4261, 0.138], "loss/width": [0.3613, 0.1618, 0.552], "loss/tolerance": [0.9108, 0.4442, 0.512], "loss": [2.76, 1.58, 0.427]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-11.46, -0.7002, 15.29], [-11.88, -0.5106, 20.79]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.76, "peak_gpu_mib": 8151.6, "seconds": 25.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PointVector@pointvector", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pointvector"], "slot": "backbone", "component": "PointVector", "variant": "pointvector", "verdict": "runs", "judge": 2, "config_hash": "09adccfa8915b1f4", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointvector -o encoder__GraspNet-baseline__PointVector@pointvector.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__PointVector@pointvector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4464972, "iterations": 20, "batch_size": 2, "grasps_per_frame": [503, 392], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7253, 0.5639], "loss/view": [0.1866, 0.04872], "loss/score": [0.08858, 0.02733], "loss/angle": [0.5112, 0.4318], "loss/width": [0.5563, 0.1635], "loss/tolerance": [1.37, 0.3676], "loss": [3.438, 1.603]}, "trend": {"loss/objectness": [0.7253, 0.5027, 0.307], "loss/view": [0.1866, 0.04412, 0.764], "loss/score": [0.08858, 0.02969, 0.665], "loss/angle": [0.5112, 0.4272, 0.164], "loss/width": [0.5563, 0.1729, 0.689], "loss/tolerance": [1.37, 0.3941, 0.712], "loss": [3.438, 1.571, 0.543]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-12.81, -0.09406, 19.14], [-13.33, -0.03222, 14.64]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.431, "peak_gpu_mib": 4841.8, "seconds": 16.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointVector@pointvector-xl", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointvector-xl"], "slot": "backbone", "component": "PointVector", "variant": "pointvector-xl", "verdict": "runs-empty", "judge": 2, "config_hash": "9272627169126811", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointvector-xl -o encoder__Scale-Balanced-Grasp__PointVector@pointvector-xl.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointVector@pointvector-xl.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 24827884, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6609, 0.3084], "loss/view": [0.2828, 0.1017], "loss/score": [0.04529, 0.02398], "loss/angle": [0.4859, 0.4319], "loss/width": [0.4149, 0.136], "loss/tolerance": [1.256, 0.2083], "loss": [3.146, 1.21]}, "trend": {"loss/objectness": [0.6609, 0.3067, 0.536], "loss/view": [0.2828, 0.113, 0.6], "loss/score": [0.04529, 0.01945, 0.571], "loss/angle": [0.4859, 0.415, 0.146], "loss/width": [0.4149, 0.1423, 0.657], "loss/tolerance": [1.256, 0.2358, 0.812], "loss": [3.146, 1.232, 0.608]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.083, "peak_gpu_mib": 13603.7, "seconds": 29.7}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointVector@pointvector", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointvector"], "slot": "backbone", "component": "PointVector", "variant": "pointvector", "verdict": "runs-empty", "judge": 2, "config_hash": "5dbab793b7733748", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointvector -o encoder__Scale-Balanced-Grasp__PointVector@pointvector.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointVector@pointvector.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 4927756, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7755, 0.3401], "loss/view": [0.272, 0.1009], "loss/score": [0.06302, 0.02476], "loss/angle": [0.4763, 0.439], "loss/width": [0.4771, 0.1011], "loss/tolerance": [0.9873, 0.2216], "loss": [3.051, 1.227]}, "trend": {"loss/objectness": [0.7755, 0.332, 0.572], "loss/view": [0.272, 0.115, 0.577], "loss/score": [0.06302, 0.02025, 0.679], "loss/angle": [0.4763, 0.4292, 0.099], "loss/width": [0.4771, 0.1089, 0.772], "loss/tolerance": [0.9873, 0.2767, 0.72], "loss": [3.051, 1.282, 0.58]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.701, "peak_gpu_mib": 10292.9, "seconds": 23.7}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PointViT", "group": "encoder", "method": "GSNet", "sets": ["backbone=point-vit"], "slot": "backbone", "component": "PointViT", "variant": "point-vit", "verdict": "runs-empty", "judge": 2, "config_hash": "b8fc3dbba767211d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=point-vit -o encoder__GSNet__PointViT.yaml", "adapter": "FeaturePropagation", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__PointViT.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 22586767, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7664, 0.6111], "loss/graspness": [1.172, 0.2745], "loss/view": [2.386, 0.4386], "loss/score": [0.6305, 0.05568], "loss/width": [1.897, 0.194], "loss": [6.853, 1.574]}, "trend": {"loss/objectness": [0.7664, 0.6045, 0.211], "loss/graspness": [1.172, 0.2555, 0.782], "loss/view": [2.386, 0.454, 0.81], "loss/score": [0.6305, 0.06743, 0.893], "loss/width": [1.897, 0.1946, 0.897], "loss": [6.853, 1.576, 0.77]}, "real_seeds": {"min": 0.338, "mean": 0.905, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.385, "peak_gpu_mib": 5496.7, "seconds": 23.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PointViT", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=point-vit"], "slot": "backbone", "component": "PointViT", "variant": "point-vit", "verdict": "runs", "judge": 2, "config_hash": "33f5244490d3af60", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=point-vit -o encoder__EconomicGrasp__PointViT.yaml", "adapter": "FeaturePropagation", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__PointViT.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 22983230, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7644, 0.6291], "loss/graspness": [1.176, 0.2737], "loss/view": [2.348, 0.8641], "loss/angle": [2.294, 0.9366], "loss/depth": [2.153, 0.4839], "loss/score": [1.956, 0.7803], "loss/width": [0.891, 0.835], "loss": [11.58, 4.803]}, "trend": {"loss/objectness": [0.7644, 0.63, 0.176], "loss/graspness": [1.176, 0.3492, 0.703], "loss/view": [2.348, 0.9014, 0.616], "loss/angle": [2.294, 0.9101, 0.603], "loss/depth": [2.153, 0.5547, 0.742], "loss/score": [1.956, 0.7561, 0.613], "loss/width": [0.891, 0.8953, -0.005], "loss": [11.58, 4.997, 0.569]}, "flags": {"loss/width": ["flat"]}, "real_seeds": {"min": 0.385, "mean": 0.941, "zero_iterations": 0}, "supervised_seeds": {"min": 0.042, "mean": 0.146, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-1.21, -0.9342, -0.7039], [-1.264, -0.9327, -0.6488]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.399, "peak_gpu_mib": 5526.6, "seconds": 20.8}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PointViT", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=point-vit"], "slot": "backbone", "component": "PointViT", "variant": "point-vit", "verdict": "runs", "judge": 2, "config_hash": "3a4e0e22fa5bfbde", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=point-vit -o encoder__FineGrasp__PointViT.yaml", "adapter": "FeaturePropagation", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__PointViT.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 26172129, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7518, 0.4209], "loss/graspness": [0.8859, 0.3575], "loss/view": [2.116, 0.6538], "loss/angle": [3.033, 0.9651], "loss/depth": [2.143, 0.4685], "loss/score": [1.643, 0.8189], "loss/width": [3.182, 0.7589], "loss": [13.76, 4.444]}, "trend": {"loss/objectness": [0.7518, 0.4979, 0.338], "loss/graspness": [0.8859, 0.3614, 0.592], "loss/view": [2.116, 0.7184, 0.661], "loss/angle": [3.033, 0.9495, 0.687], "loss/depth": [2.143, 0.5193, 0.758], "loss/score": [1.643, 0.8088, 0.508], "loss/width": [3.182, 0.7996, 0.749], "loss": [13.76, 4.655, 0.662]}, "real_seeds": {"min": 0.818, "mean": 0.965, "zero_iterations": 0}, "supervised_seeds": {"min": 0.119, "mean": 0.166, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [[-2.128, -2.128, -2.128], [-2.128, -2.128, -2.128]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.858, "peak_gpu_mib": 15893.5, "seconds": 56.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PointViT", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=point-vit"], "slot": "backbone", "component": "PointViT", "variant": "point-vit", "verdict": "runs-empty", "judge": 2, "config_hash": "e5548fb177b67e78", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=point-vit -o encoder__GraspNet-baseline__PointViT.yaml", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PointViT.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 22307692, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7016, 0.5323], "loss/view": [0.176, 0.05272], "loss/score": [0.06555, 0.0214], "loss/angle": [0.5235, 0.4526], "loss/width": [0.664, 0.1655], "loss/tolerance": [1.517, 0.4819], "loss": [3.648, 1.706]}, "trend": {"loss/objectness": [0.7016, 0.6158, 0.122], "loss/view": [0.176, 0.05034, 0.714], "loss/score": [0.06555, 0.02353, 0.641], "loss/angle": [0.5235, 0.4261, 0.186], "loss/width": [0.664, 0.1633, 0.754], "loss/tolerance": [1.517, 0.4976, 0.672], "loss": [3.648, 1.777, 0.513]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.246, "peak_gpu_mib": 4471.3, "seconds": 13.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PointViT", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=point-vit"], "slot": "backbone", "component": "PointViT", "variant": "point-vit", "verdict": "runs-empty", "judge": 2, "config_hash": "796053e8b84a6c4d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=point-vit -o encoder__Scale-Balanced-Grasp__PointViT.yaml", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PointViT.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 22762028, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6586, 0.3483], "loss/view": [0.2619, 0.09841], "loss/score": [0.04673, 0.02051], "loss/angle": [0.52, 0.4446], "loss/width": [0.5115, 0.08021], "loss/tolerance": [0.9781, 0.186], "loss": [2.977, 1.178]}, "trend": {"loss/objectness": [0.6586, 0.3419, 0.481], "loss/view": [0.2619, 0.1114, 0.575], "loss/score": [0.04673, 0.02121, 0.546], "loss/angle": [0.52, 0.4235, 0.186], "loss/width": [0.5115, 0.09052, 0.823], "loss/tolerance": [0.9781, 0.2147, 0.78], "loss": [2.977, 1.203, 0.596]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.391, "peak_gpu_mib": 9924.7, "seconds": 16.5}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/PyGPointEncoder@pyg-edgeconv", "group": "encoder", "method": "GSNet", "sets": ["backbone=pyg-edgeconv"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-edgeconv", "verdict": "runs-empty", "judge": 2, "config_hash": "132d178da3eebfbe", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pyg-edgeconv -o encoder__GSNet__PyGPointEncoder@pyg-edgeconv.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__PyGPointEncoder@pyg-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 832335, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7214, 0.5419], "loss/graspness": [0.402, 0.2345], "loss/view": [0.979, 0.3876], "loss/score": [0.6364, 0.07112], "loss/width": [2.724, 0.1721], "loss": [5.463, 1.407]}, "trend": {"loss/objectness": [0.7214, 0.5569, 0.228], "loss/graspness": [0.402, 0.2565, 0.362], "loss/view": [0.979, 0.3761, 0.616], "loss/score": [0.6364, 0.077, 0.879], "loss/width": [2.724, 0.2145, 0.921], "loss": [5.463, 1.481, 0.729]}, "real_seeds": {"min": 0.399, "mean": 0.94, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.395, "peak_gpu_mib": 4845.4, "seconds": 19.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PyGPointEncoder@pyg-point-transformer", "group": "encoder", "method": "GSNet", "sets": ["backbone=pyg-point-transformer"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-point-transformer", "verdict": "runs-empty", "judge": 2, "config_hash": "bbb17af4e949d3d6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pyg-point-transformer -o encoder__GSNet__PyGPointEncoder@pyg-point-transformer.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__PyGPointEncoder@pyg-point-transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 824143, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.6973, 0.5364], "loss/graspness": [0.4071, 0.2599], "loss/view": [1.018, 0.7597], "loss/score": [0.3946, 0.08749], "loss/width": [2.479, 0.2623], "loss": [4.995, 1.906]}, "trend": {"loss/objectness": [0.6973, 0.5458, 0.217], "loss/graspness": [0.4071, 0.2752, 0.324], "loss/view": [1.018, 0.5097, 0.499], "loss/score": [0.3946, 0.08943, 0.773], "loss/width": [2.479, 0.2391, 0.904], "loss": [4.995, 1.659, 0.668]}, "real_seeds": {"min": 0.299, "mean": 0.858, "zero_iterations": 0}, "supervised_seeds": {"min": 0.5, "mean": 0.938, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.405, "peak_gpu_mib": 6399.7, "seconds": 19.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PyGPointEncoder@pyg-pointgnn", "group": "encoder", "method": "GSNet", "sets": ["backbone=pyg-pointgnn"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointgnn", "verdict": "runs", "judge": 2, "config_hash": "5244677f219164d9", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pyg-pointgnn -o encoder__GSNet__PyGPointEncoder@pyg-pointgnn.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__PyGPointEncoder@pyg-pointgnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1026968, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 211], "frames": 8, "losses": {"loss/objectness": [0.7013, 0.5733], "loss/graspness": [1.671, 0.275], "loss/view": [4.832, 0.4254], "loss/score": [0.6956, 0.05407], "loss/width": [2.987, 0.2104], "loss": [10.89, 1.538]}, "trend": {"loss/objectness": [0.7013, 0.5826, 0.169], "loss/graspness": [1.671, 0.3427, 0.795], "loss/view": [4.832, 0.4185, 0.913], "loss/score": [0.6956, 0.06365, 0.908], "loss/width": [2.987, 0.2183, 0.927], "loss": [10.89, 1.626, 0.851]}, "real_seeds": {"min": 0.838, "mean": 0.975, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, [0.1083, 0.1109, 0.1131]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.514, "peak_gpu_mib": 10448.5, "seconds": 23.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/PyGPointEncoder@pyg-pointnet", "group": "encoder", "method": "GSNet", "sets": ["backbone=pyg-pointnet"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointnet", "verdict": "runs-empty", "judge": 2, "config_hash": "c7eda6aa0608659e", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pyg-pointnet -o encoder__GSNet__PyGPointEncoder@pyg-pointnet.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__PyGPointEncoder@pyg-pointnet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 816719, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7092, 0.5345], "loss/graspness": [0.4, 0.2597], "loss/view": [0.8734, 0.5265], "loss/score": [0.5012, 0.09723], "loss/width": [2.088, 0.2368], "loss": [4.572, 1.655]}, "trend": {"loss/objectness": [0.7092, 0.5549, 0.218], "loss/graspness": [0.4, 0.2857, 0.286], "loss/view": [0.8734, 0.4432, 0.493], "loss/score": [0.5012, 0.09574, 0.809], "loss/width": [2.088, 0.2387, 0.886], "loss": [4.572, 1.618, 0.646]}, "real_seeds": {"min": 0.135, "mean": 0.829, "zero_iterations": 0}, "supervised_seeds": {"min": 0.75, "mean": 0.975, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.314, "peak_gpu_mib": 4177.4, "seconds": 19.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PyGPointEncoder@pyg-edgeconv", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pyg-edgeconv"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-edgeconv", "verdict": "runs", "judge": 2, "config_hash": "1db1927150dc84cb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pyg-edgeconv -o encoder__EconomicGrasp__PyGPointEncoder@pyg-edgeconv.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__PyGPointEncoder@pyg-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1228798, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7116, 0.4849], "loss/graspness": [0.4057, 0.2219], "loss/view": [1.236, 0.7475], "loss/angle": [2.315, 1.058], "loss/depth": [2.207, 0.6127], "loss/score": [1.78, 0.8478], "loss/width": [3.806, 0.7746], "loss": [12.46, 4.747]}, "trend": {"loss/objectness": [0.7116, 0.5015, 0.295], "loss/graspness": [0.4057, 0.2408, 0.406], "loss/view": [1.236, 0.7546, 0.39], "loss/angle": [2.315, 0.9472, 0.591], "loss/depth": [2.207, 0.5474, 0.752], "loss/score": [1.78, 0.7821, 0.561], "loss/width": [3.806, 0.7653, 0.799], "loss": [12.46, 4.539, 0.636]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.083, "mean": 0.195, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.188, -1.031, -0.8737], [-1.16, -1.008, -0.8708]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.557, "peak_gpu_mib": 6223.8, "seconds": 24.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PyGPointEncoder@pyg-point-transformer", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pyg-point-transformer"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-point-transformer", "verdict": "runs", "judge": 2, "config_hash": "44a740825d9dce46", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pyg-point-transformer -o encoder__EconomicGrasp__PyGPointEncoder@pyg-point-transformer.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__PyGPointEncoder@pyg-point-transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1220606, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6867, 0.4685], "loss/graspness": [0.3667, 0.225], "loss/view": [1.336, 0.7255], "loss/angle": [2.472, 1.069], "loss/depth": [2.264, 0.6303], "loss/score": [1.518, 0.8913], "loss/width": [1.651, 0.8166], "loss": [10.3, 4.826]}, "trend": {"loss/objectness": [0.6867, 0.4879, 0.289], "loss/graspness": [0.3667, 0.2355, 0.358], "loss/view": [1.336, 0.7642, 0.428], "loss/angle": [2.472, 0.9473, 0.617], "loss/depth": [2.264, 0.5619, 0.752], "loss/score": [1.518, 0.7909, 0.479], "loss/width": [1.651, 0.7909, 0.521], "loss": [10.3, 4.579, 0.555]}, "real_seeds": {"min": 0.57, "mean": 0.962, "zero_iterations": 0}, "supervised_seeds": {"min": 0.157, "mean": 0.23, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.797, -1.384, -1.191], [-1.831, -1.411, -1.182]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.652, "peak_gpu_mib": 8559.7, "seconds": 26.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PyGPointEncoder@pyg-pointgnn", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pyg-pointgnn"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointgnn", "verdict": "runs-empty", "judge": 2, "config_hash": "a79c6efb417e662a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pyg-pointgnn -o encoder__EconomicGrasp__PyGPointEncoder@pyg-pointgnn.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__PyGPointEncoder@pyg-pointgnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1423431, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.6675, 0.4611], "loss/graspness": [1.46, 0.2537], "loss/view": [5.36, 0.9847], "loss/angle": [2.355, 1.064], "loss/depth": [1.36, 0.6242], "loss/score": [2.064, 0.8825], "loss/width": [1.338, 0.8103], "loss": [14.6, 5.08]}, "trend": {"loss/objectness": [0.6675, 0.4743, 0.289], "loss/graspness": [1.46, 0.3565, 0.756], "loss/view": [5.36, 0.8848, 0.835], "loss/angle": [2.355, 0.9403, 0.601], "loss/depth": [1.36, 0.541, 0.602], "loss/score": [2.064, 0.771, 0.626], "loss/width": [1.338, 0.7923, 0.408], "loss": [14.6, 4.76, 0.674]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.056, "mean": 0.196, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.753, "peak_gpu_mib": 13702.2, "seconds": 27.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/PyGPointEncoder@pyg-pointnet", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=pyg-pointnet"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointnet", "verdict": "runs-empty", "judge": 2, "config_hash": "84c8493fb5f816b9", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pyg-pointnet -o encoder__EconomicGrasp__PyGPointEncoder@pyg-pointnet.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__PyGPointEncoder@pyg-pointnet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1213182, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7297, 0.5186], "loss/graspness": [0.3851, 0.2482], "loss/view": [1.215, 0.732], "loss/angle": [2.351, 1.036], "loss/depth": [2.511, 0.6809], "loss/score": [2.006, 0.8808], "loss/width": [0.8697, 0.7653], "loss": [10.07, 4.862]}, "trend": {"loss/objectness": [0.7297, 0.5336, 0.269], "loss/graspness": [0.3851, 0.2387, 0.38], "loss/view": [1.215, 0.7542, 0.379], "loss/angle": [2.351, 1.01, 0.57], "loss/depth": [2.511, 0.6266, 0.75], "loss/score": [2.006, 0.8521, 0.575], "loss/width": [0.8697, 0.7928, 0.088], "loss": [10.07, 4.808, 0.522]}, "real_seeds": {"min": 0.84, "mean": 0.987, "zero_iterations": 0}, "supervised_seeds": {"min": 0.098, "mean": 0.188, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.442, "peak_gpu_mib": 5329.0, "seconds": 23.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PyGPointEncoder@pyg-edgeconv", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pyg-edgeconv"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-edgeconv", "verdict": "runs-unstable", "judge": 2, "config_hash": "27aa6b07c8f823fa", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pyg-edgeconv -o encoder__FineGrasp__PyGPointEncoder@pyg-edgeconv.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "unstable": "1 of 20 iterations had no real seed (iteration 9). No grasp was predicted on any probed frame.", "probe": "grasppanda probe encoder__FineGrasp__PyGPointEncoder@pyg-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "1 of 20 iterations had no real seed (iteration 9).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.7024, 0.3672], "loss/graspness": [0.4607, 0.3192], "loss/view": [1.165, 0.648], "loss/angle": [2.396, 0.9573], "loss/depth": [1.562, 0.5386], "loss/score": [2.317, 0.8237], "loss/width": [1.191, 0.8502], "loss": [9.793, 4.504]}, "trend": {"loss/objectness": [0.7024, 0.3926, 0.441], "loss/graspness": [0.4607, 0.4237, 0.08], "loss/view": [1.165, 0.838, 0.28], "loss/angle": [2.396, 1.107, 0.538], "loss/depth": [1.562, 0.793, 0.492], "loss/score": [2.317, 0.9638, 0.584], "loss/width": [1.191, 0.7992, 0.329], "loss": [9.793, 5.317, 0.457]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-2.673, -2.673, -2.673], [-2.673, -2.673, -2.673]]}, "schedule": "constant", "rate": 0.002, "parameters": 4612193, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7024, 0.3641], "loss/graspness": [0.4607, 0.3538], "loss/view": [1.165, 0.6355], "loss/angle": [2.396, 1.004], "loss/depth": [1.562, 0.5612], "loss/score": [2.317, 0.8445], "loss/width": [1.191, 0.7033], "loss": [9.793, 4.467]}, "trend": {"loss/objectness": [0.7024, 0.3833, 0.454], "loss/graspness": [0.4607, 0.3467, 0.247], "loss/view": [1.165, 0.7088, 0.391], "loss/angle": [2.396, 1.11, 0.537], "loss/depth": [1.562, 0.7402, 0.526], "loss/score": [2.317, 0.963, 0.584], "loss/width": [1.191, 0.7502, 0.37], "loss": [9.793, 5.003, 0.489]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.0, "mean": 0.79, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.153, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.265, "peak_gpu_mib": 20150.4, "seconds": 66.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PyGPointEncoder@pyg-point-transformer", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pyg-point-transformer"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-point-transformer", "verdict": "runs-unstable", "judge": 2, "config_hash": "1524a19ee7cc71b3", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pyg-point-transformer -o encoder__FineGrasp__PyGPointEncoder@pyg-point-transformer.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "unstable": "1 of 20 iterations had no real seed (iteration 8).", "probe": "grasppanda probe encoder__FineGrasp__PyGPointEncoder@pyg-point-transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4604001, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.6863, 0.3697], "loss/graspness": [0.4893, 0.2765], "loss/view": [1.076, 0.7907], "loss/angle": [3.481, 1.142], "loss/depth": [1.416, 0.6851], "loss/score": [2.07, 0.9913], "loss/width": [1.453, 0.7942], "loss": [10.67, 5.049]}, "trend": {"loss/objectness": [0.6863, 0.3814, 0.444], "loss/graspness": [0.4893, 0.3382, 0.309], "loss/view": [1.076, 0.6974, 0.352], "loss/angle": [3.481, 1.077, 0.691], "loss/depth": [1.416, 0.6125, 0.567], "loss/score": [2.07, 0.9294, 0.551], "loss/width": [1.453, 0.8046, 0.446], "loss": [10.67, 4.841, 0.546]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.0, "mean": 0.883, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.204, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-2.774, -2.774, -2.774], [-2.774, -2.774, -2.774]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.895, "peak_gpu_mib": 21287.2, "seconds": 51.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PyGPointEncoder@pyg-pointgnn", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pyg-pointgnn"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointgnn", "verdict": "runs-unstable", "judge": 2, "config_hash": "81050eca27a9ca0a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pyg-pointgnn -o encoder__FineGrasp__PyGPointEncoder@pyg-pointgnn.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "unstable": "1 of 20 iterations had no real seed (iteration 5).", "probe": "grasppanda probe encoder__FineGrasp__PyGPointEncoder@pyg-pointgnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4807018, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.8222, 0.4044], "loss/graspness": [5.264, 0.6582], "loss/view": [7.669, 0.6379], "loss/angle": [3.302, 1.028], "loss/depth": [1.932, 0.5804], "loss/score": [1.51, 0.8709], "loss/width": [4.731, 0.8481], "loss": [25.23, 5.028]}, "trend": {"loss/objectness": [0.8222, 0.4283, 0.479], "loss/graspness": [5.264, 0.4557, 0.913], "loss/view": [7.669, 0.6853, 0.911], "loss/angle": [3.302, 1.062, 0.678], "loss/depth": [1.932, 0.6078, 0.685], "loss/score": [1.51, 0.8961, 0.407], "loss/width": [4.731, 0.8611, 0.818], "loss": [25.23, 4.996, 0.802]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.0, "mean": 0.85, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.149, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-2.599, -2.599, -2.599], [-2.599, -2.599, -2.599]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.085, "peak_gpu_mib": 35080.6, "seconds": 55.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/PyGPointEncoder@pyg-pointnet", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=pyg-pointnet"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointnet", "verdict": "runs", "judge": 2, "config_hash": "708b723d691b258c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=pyg-pointnet -o encoder__FineGrasp__PyGPointEncoder@pyg-pointnet.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__PyGPointEncoder@pyg-pointnet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 4596577, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7185, 0.3443], "loss/graspness": [0.5841, 0.2854], "loss/view": [0.8201, 0.6676], "loss/angle": [2.168, 1.136], "loss/depth": [1.706, 0.5957], "loss/score": [2.545, 0.9534], "loss/width": [2.767, 0.7521], "loss": [11.31, 4.735]}, "trend": {"loss/objectness": [0.7185, 0.3602, 0.499], "loss/graspness": [0.5841, 0.2954, 0.494], "loss/view": [0.8201, 0.7328, 0.106], "loss/angle": [2.168, 1.121, 0.483], "loss/depth": [1.706, 0.6289, 0.631], "loss/score": [2.545, 0.9449, 0.629], "loss/width": [2.767, 0.7548, 0.727], "loss": [11.31, 4.838, 0.572]}, "real_seeds": {"min": 0.077, "mean": 0.836, "zero_iterations": 0}, "supervised_seeds": {"min": 0.036, "mean": 0.209, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-0.9789, -0.9787, -0.9786], [-0.9789, -0.9787, -0.9786]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.758, "peak_gpu_mib": 18366.7, "seconds": 48.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/PyGPointEncoder@pyg-edgeconv", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pyg-edgeconv"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-edgeconv", "verdict": "runs", "judge": 2, "config_hash": "92f5d42ae51b5f2a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pyg-edgeconv -o encoder__GraspNet-baseline__PyGPointEncoder@pyg-edgeconv.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PyGPointEncoder@pyg-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 476460, "iterations": 20, "batch_size": 2, "grasps_per_frame": [417, 555], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.727, 0.5673], "loss/view": [0.1662, 0.04979], "loss/score": [0.1007, 0.03635], "loss/angle": [0.5185, 0.4399], "loss/width": [0.5222, 0.1473], "loss/tolerance": [1.511, 0.3515], "loss": [3.545, 1.592]}, "trend": {"loss/objectness": [0.727, 0.5597, 0.23], "loss/view": [0.1662, 0.04901, 0.705], "loss/score": [0.1007, 0.03034, 0.699], "loss/angle": [0.5185, 0.4445, 0.143], "loss/width": [0.5222, 0.1696, 0.675], "loss/tolerance": [1.511, 0.3797, 0.749], "loss": [3.545, 1.633, 0.539]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-8.479, 0.5125, 16.29], [-7.798, 0.3488, 21.34]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.313, "peak_gpu_mib": 5373.6, "seconds": 15.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PyGPointEncoder@pyg-point-transformer", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pyg-point-transformer"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-point-transformer", "verdict": "runs", "judge": 2, "config_hash": "aa89243ce930ea14", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pyg-point-transformer -o encoder__GraspNet-baseline__PyGPointEncoder@pyg-point-transformer.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PyGPointEncoder@pyg-point-transformer.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 468268, "iterations": 20, "batch_size": 2, "grasps_per_frame": [377, 523], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8122, 0.5915], "loss/view": [0.1723, 0.04884], "loss/score": [0.08543, 0.03277], "loss/angle": [0.5242, 0.4455], "loss/width": [0.6058, 0.143], "loss/tolerance": [1.145, 0.3822], "loss": [3.345, 1.644]}, "trend": {"loss/objectness": [0.8122, 0.5615, 0.309], "loss/view": [0.1723, 0.04877, 0.717], "loss/score": [0.08543, 0.03251, 0.619], "loss/angle": [0.5242, 0.444, 0.153], "loss/width": [0.6058, 0.1674, 0.724], "loss/tolerance": [1.145, 0.4643, 0.595], "loss": [3.345, 1.718, 0.486]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-40.54, 0.2293, 11.15], [-33.12, -0.007091, 9.864]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.317, "peak_gpu_mib": 5660.6, "seconds": 15.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PyGPointEncoder@pyg-pointgnn", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pyg-pointgnn"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointgnn", "verdict": "runs", "judge": 2, "config_hash": "697e129ed4c0c093", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pyg-pointgnn -o encoder__GraspNet-baseline__PyGPointEncoder@pyg-pointgnn.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PyGPointEncoder@pyg-pointgnn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 671093, "iterations": 20, "batch_size": 2, "grasps_per_frame": [324, 498], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.747, 0.5994], "loss/view": [0.1637, 0.04697], "loss/score": [0.05116, 0.0342], "loss/angle": [0.491, 0.43], "loss/width": [0.6325, 0.1268], "loss/tolerance": [1.45, 0.3115], "loss": [3.535, 1.549]}, "trend": {"loss/objectness": [0.747, 0.559, 0.252], "loss/view": [0.1637, 0.04844, 0.704], "loss/score": [0.05116, 0.03019, 0.41], "loss/angle": [0.491, 0.4326, 0.119], "loss/width": [0.6325, 0.1838, 0.709], "loss/tolerance": [1.45, 0.42, 0.71], "loss": [3.535, 1.674, 0.526]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-12.86, 0.3382, 9.484], [-21.06, -0.4727, 9.77]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.403, "peak_gpu_mib": 9109.6, "seconds": 17.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/PyGPointEncoder@pyg-pointnet", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=pyg-pointnet"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointnet", "verdict": "runs", "judge": 2, "config_hash": "34839e5ff3429a3b", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pyg-pointnet -o encoder__GraspNet-baseline__PyGPointEncoder@pyg-pointnet.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__PyGPointEncoder@pyg-pointnet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 460844, "iterations": 20, "batch_size": 2, "grasps_per_frame": [409, 529], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6003], "loss/view": [0.163, 0.05391], "loss/score": [0.04633, 0.03236], "loss/angle": [0.5063, 0.4237], "loss/width": [0.4606, 0.1429], "loss/tolerance": [1.149, 0.3744], "loss": [3.114, 1.627]}, "trend": {"loss/objectness": [0.7893, 0.5589, 0.292], "loss/view": [0.163, 0.05208, 0.68], "loss/score": [0.04633, 0.02677, 0.422], "loss/angle": [0.5063, 0.4258, 0.159], "loss/width": [0.4606, 0.1639, 0.644], "loss/tolerance": [1.149, 0.3876, 0.663], "loss": [3.114, 1.615, 0.481]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-15.47, -0.6395, 9.463], [-21.41, -0.6293, 11.52]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.346, "peak_gpu_mib": 4928.3, "seconds": 16.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PyGPointEncoder@pyg-edgeconv", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pyg-edgeconv"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-edgeconv", "verdict": "runs-empty", "judge": 2, "config_hash": "94c0bc0c97f2db76", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pyg-edgeconv -o encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-edgeconv.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-edgeconv.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 930796, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7442, 0.3228], "loss/view": [0.285, 0.1022], "loss/score": [0.03159, 0.02363], "loss/angle": [0.5066, 0.4342], "loss/width": [0.4846, 0.1315], "loss/tolerance": [1.31, 0.2992], "loss": [3.362, 1.314]}, "trend": {"loss/objectness": [0.7442, 0.315, 0.577], "loss/view": [0.285, 0.1101, 0.614], "loss/score": [0.03159, 0.01731, 0.452], "loss/angle": [0.5066, 0.4171, 0.177], "loss/width": [0.4846, 0.1192, 0.754], "loss/tolerance": [1.31, 0.2556, 0.805], "loss": [3.362, 1.234, 0.633]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.575, "peak_gpu_mib": 10823.9, "seconds": 20.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PyGPointEncoder@pyg-point-transformer", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pyg-point-transformer"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-point-transformer", "verdict": "runs-empty", "judge": 2, "config_hash": "dc79919d6bef837e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pyg-point-transformer -o encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-point-transformer.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-point-transformer.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 922604, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [1.009, 0.3344], "loss/view": [0.252, 0.0988], "loss/score": [0.04298, 0.02352], "loss/angle": [0.4894, 0.4298], "loss/width": [0.6693, 0.09727], "loss/tolerance": [0.849, 0.2831], "loss": [3.311, 1.267]}, "trend": {"loss/objectness": [1.009, 0.3148, 0.688], "loss/view": [0.252, 0.1128, 0.552], "loss/score": [0.04298, 0.02277, 0.47], "loss/angle": [0.4894, 0.4055, 0.172], "loss/width": [0.6693, 0.1349, 0.798], "loss/tolerance": [0.849, 0.3358, 0.604], "loss": [3.311, 1.327, 0.599]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.577, "peak_gpu_mib": 11111.0, "seconds": 19.9}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PyGPointEncoder@pyg-pointgnn", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pyg-pointgnn"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointgnn", "verdict": "runs-empty", "judge": 2, "config_hash": "2f1f1aea09188af1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pyg-pointgnn -o encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-pointgnn.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-pointgnn.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1125429, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7661, 0.3492], "loss/view": [0.2387, 0.1041], "loss/score": [0.03204, 0.02319], "loss/angle": [0.5021, 0.462], "loss/width": [0.3747, 0.08298], "loss/tolerance": [1.054, 0.1875], "loss": [2.968, 1.209]}, "trend": {"loss/objectness": [0.7661, 0.326, 0.575], "loss/view": [0.2387, 0.1146, 0.52], "loss/score": [0.03204, 0.02181, 0.319], "loss/angle": [0.5021, 0.4512, 0.101], "loss/width": [0.3747, 0.07163, 0.809], "loss/tolerance": [1.054, 0.1821, 0.827], "loss": [2.968, 1.167, 0.607]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.637, "peak_gpu_mib": 14560.6, "seconds": 20.3}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/PyGPointEncoder@pyg-pointnet", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pyg-pointnet"], "slot": "backbone", "component": "PyGPointEncoder", "variant": "pyg-pointnet", "verdict": "runs-empty", "judge": 2, "config_hash": "171df2e9f5dcfc1d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pyg-pointnet -o encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-pointnet.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__PyGPointEncoder@pyg-pointnet.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 915180, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8973, 0.328], "loss/view": [0.2628, 0.1001], "loss/score": [0.02994, 0.02132], "loss/angle": [0.5144, 0.4305], "loss/width": [0.3936, 0.1013], "loss/tolerance": [1.053, 0.2317], "loss": [3.151, 1.213]}, "trend": {"loss/objectness": [0.8973, 0.3155, 0.648], "loss/view": [0.2628, 0.1123, 0.573], "loss/score": [0.02994, 0.01708, 0.43], "loss/angle": [0.5144, 0.4273, 0.169], "loss/width": [0.3936, 0.1126, 0.714], "loss/tolerance": [1.053, 0.2741, 0.74], "loss": [3.151, 1.259, 0.601]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.545, "peak_gpu_mib": 10379.7, "seconds": 19.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/RandLANet", "group": "encoder", "method": "GSNet", "sets": ["backbone=randlanet"], "slot": "backbone", "component": "RandLANet", "variant": "randlanet", "verdict": "runs-empty", "judge": 2, "config_hash": "5fa59b142c6cc50f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=randlanet -o encoder__GSNet__RandLANet.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__RandLANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1980823, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7978, 0.6381], "loss/graspness": [1.381, 0.2682], "loss/view": [1.956, 0.3147], "loss/score": [0.7357, 0.04735], "loss/width": [1.939, 0.2829], "loss": [6.809, 1.551]}, "trend": {"loss/objectness": [0.7978, 0.5989, 0.249], "loss/graspness": [1.381, 0.2665, 0.807], "loss/view": [1.956, 0.4166, 0.787], "loss/score": [0.7357, 0.0718, 0.902], "loss/width": [1.939, 0.2271, 0.883], "loss": [6.809, 1.581, 0.768]}, "real_seeds": {"min": 0.836, "mean": 0.992, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.329, "peak_gpu_mib": 3019.1, "seconds": 16.0}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/RandLANet", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=randlanet"], "slot": "backbone", "component": "RandLANet", "variant": "randlanet", "verdict": "runs-empty", "judge": 2, "config_hash": "c7f5d3fcd333264f", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=randlanet -o encoder__EconomicGrasp__RandLANet.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__RandLANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 2377286, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.8435, 0.4734], "loss/graspness": [1.288, 0.232], "loss/view": [2.384, 0.8592], "loss/angle": [3.354, 0.9961], "loss/depth": [2.292, 0.6206], "loss/score": [2.476, 0.8377], "loss/width": [1.798, 0.8075], "loss": [14.44, 4.827]}, "trend": {"loss/objectness": [0.8435, 0.4677, 0.446], "loss/graspness": [1.288, 0.2712, 0.79], "loss/view": [2.384, 0.8445, 0.646], "loss/angle": [3.354, 0.8837, 0.736], "loss/depth": [2.292, 0.5252, 0.771], "loss/score": [2.476, 0.7633, 0.692], "loss/width": [1.798, 0.7791, 0.567], "loss": [14.44, 4.535, 0.686]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.07, "mean": 0.179, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.459, "peak_gpu_mib": 3782.1, "seconds": 19.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/RandLANet", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=randlanet"], "slot": "backbone", "component": "RandLANet", "variant": "randlanet", "verdict": "runs-empty", "judge": 2, "config_hash": "9af27410dc5d0687", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=randlanet -o encoder__FineGrasp__RandLANet.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__RandLANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 5760513, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7305, 0.2909], "loss/graspness": [0.9088, 0.2168], "loss/view": [2.441, 0.7532], "loss/angle": [2.322, 1.1], "loss/depth": [2.415, 0.6199], "loss/score": [1.667, 0.9326], "loss/width": [2.554, 0.7705], "loss": [13.04, 4.684]}, "trend": {"loss/objectness": [0.7305, 0.3152, 0.569], "loss/graspness": [0.9088, 0.2375, 0.739], "loss/view": [2.441, 0.7177, 0.706], "loss/angle": [2.322, 1.094, 0.529], "loss/depth": [2.415, 0.6164, 0.745], "loss/score": [1.667, 0.9378, 0.438], "loss/width": [2.554, 0.8123, 0.682], "loss": [13.04, 4.731, 0.637]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.118, "mean": 0.199, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.212, "peak_gpu_mib": 15239.3, "seconds": 58.3}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/RandLANet", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=randlanet"], "slot": "backbone", "component": "RandLANet", "variant": "randlanet", "verdict": "runs", "judge": 2, "config_hash": "00356b1062c8a726", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=randlanet -o encoder__GraspNet-baseline__RandLANet.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__GraspNet-baseline__RandLANet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1640820, "iterations": 20, "batch_size": 2, "grasps_per_frame": [266, 441], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7536, 0.5813], "loss/view": [0.1756, 0.05414], "loss/score": [0.07389, 0.03277], "loss/angle": [0.5284, 0.4518], "loss/width": [0.6007, 0.1673], "loss/tolerance": [1.233, 0.4073], "loss": [3.365, 1.695]}, "trend": {"loss/objectness": [0.7536, 0.5267, 0.301], "loss/view": [0.1756, 0.05207, 0.703], "loss/score": [0.07389, 0.0331, 0.552], "loss/angle": [0.5284, 0.4514, 0.146], "loss/width": [0.6007, 0.1536, 0.744], "loss/tolerance": [1.233, 0.4186, 0.661], "loss": [3.365, 1.635, 0.514]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.472, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-13.25, 1.265, 15.32], [-14.59, 0.7574, 14.98]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.177, "peak_gpu_mib": 4095.6, "seconds": 11.4}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/RandLANet", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=randlanet"], "slot": "backbone", "component": "RandLANet", "variant": "randlanet", "verdict": "runs-empty", "judge": 2, "config_hash": "d64117263086b823", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=randlanet -o encoder__Scale-Balanced-Grasp__RandLANet.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__RandLANet.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 2095156, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.5781, 0.3309], "loss/view": [0.2461, 0.1066], "loss/score": [0.04834, 0.02779], "loss/angle": [0.4994, 0.4575], "loss/width": [0.453, 0.09703], "loss/tolerance": [1.067, 0.1534], "loss": [2.892, 1.173]}, "trend": {"loss/objectness": [0.5781, 0.3146, 0.456], "loss/view": [0.2461, 0.1044, 0.576], "loss/score": [0.04834, 0.0223, 0.539], "loss/angle": [0.4994, 0.4366, 0.126], "loss/width": [0.453, 0.1231, 0.728], "loss/tolerance": [1.067, 0.2079, 0.805], "loss": [2.892, 1.209, 0.582]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.472, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.282, "peak_gpu_mib": 9547.9, "seconds": 13.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/SpUNet@spunet-gaussiancross", "group": "encoder", "method": "GSNet", "sets": ["backbone=spunet-gaussiancross"], "slot": "backbone", "component": "SpUNet", "variant": "spunet-gaussiancross", "verdict": "runs", "judge": 2, "config_hash": "d0babbd300a11a27", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=spunet-gaussiancross -o encoder__GSNet__SpUNet@spunet-gaussiancross.yaml", "probe": "grasppanda probe encoder__GSNet__SpUNet@spunet-gaussiancross.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 39900527, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6941, 0.676], "loss/graspness": [0.2818, 0.241], "loss/view": [0.5829, 0.2961], "loss/score": [0.3652, 0.1228], "loss/width": [4.613, 0.3744], "loss": [6.537, 1.71]}, "trend": {"loss/objectness": [0.6941, 0.6807, 0.019], "loss/graspness": [0.2818, 0.2453, 0.129], "loss/view": [0.5829, 0.2941, 0.495], "loss/score": [0.3652, 0.1743, 0.523], "loss/width": [4.613, 0.4794, 0.896], "loss": [6.537, 1.874, 0.713]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.69, "zero_iterations": 0}, "supervised_seeds": {"min": 0.25, "mean": 0.925, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1266, 0.1578, 0.194], [0.1272, 0.1557, 0.194]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.243, "peak_gpu_mib": 2099.0, "seconds": 27.9}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GSNet/SpUNet@spunet", "group": "encoder", "method": "GSNet", "sets": ["backbone=spunet"], "slot": "backbone", "component": "SpUNet", "variant": "spunet", "verdict": "runs", "judge": 2, "config_hash": "7e4d89d600ec29e6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=spunet -o encoder__GSNet__SpUNet@spunet.yaml", "probe": "grasppanda probe encoder__GSNet__SpUNet@spunet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 39900527, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6994, 0.654], "loss/graspness": [0.3533, 0.232], "loss/view": [0.6639, 0.3776], "loss/score": [1.188, 0.09065], "loss/width": [3.086, 0.1722], "loss": [5.99, 1.526]}, "trend": {"loss/objectness": [0.6994, 0.6642, 0.05], "loss/graspness": [0.3533, 0.2659, 0.247], "loss/view": [0.6639, 0.3763, 0.433], "loss/score": [1.188, 0.1078, 0.909], "loss/width": [3.086, 0.2063, 0.933], "loss": [5.99, 1.621, 0.729]}, "real_seeds": {"min": 0.045, "mean": 0.745, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1078, 1.173, 3.727], [0.1032, 1.262, 5.148]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.276, "peak_gpu_mib": 2098.3, "seconds": 25.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/SpUNet@spunet-gaussiancross", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=spunet-gaussiancross"], "slot": "backbone", "component": "SpUNet", "variant": "spunet-gaussiancross", "verdict": "runs", "judge": 2, "config_hash": "45fc4159194dec92", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=spunet-gaussiancross -o encoder__EconomicGrasp__SpUNet@spunet-gaussiancross.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__SpUNet@spunet-gaussiancross.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 40296990, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6942, 0.6724], "loss/graspness": [0.2796, 0.2188], "loss/view": [1.147, 0.6392], "loss/angle": [-0.0, 1.003], "loss/depth": [0.0, 0.5142], "loss/score": [0.0, 0.8607], "loss/width": [-0.0, 0.7374], "loss": [2.12, 4.646]}, "trend": {"loss/objectness": [0.6942, 0.6779, 0.024], "loss/graspness": [0.2796, 0.2346, 0.161], "loss/view": [1.147, 0.6358, 0.445], "loss/angle": [2.667, 1.029, 0.614], "loss/depth": [1.204, 0.5314, 0.558], "loss/score": [2.308, 0.8679, 0.624], "loss/width": [2.737, 0.7756, 0.717], "loss": [2.12, 4.752, -1.241]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.865, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.226, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.221, -1.044, -0.7664], [-1.246, -1.063, -0.8208]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.281, "peak_gpu_mib": 2315.1, "seconds": 29.5}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/SpUNet@spunet", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=spunet"], "slot": "backbone", "component": "SpUNet", "variant": "spunet", "verdict": "runs", "judge": 2, "config_hash": "0c01e2c38883e0d6", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=spunet -o encoder__EconomicGrasp__SpUNet@spunet.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__SpUNet@spunet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 40296990, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7008, 0.6408], "loss/graspness": [0.3586, 0.2175], "loss/view": [0.9498, 0.7068], "loss/angle": [2.783, 1.021], "loss/depth": [1.166, 0.5587], "loss/score": [2.316, 0.85], "loss/width": [2.657, 0.656], "loss": [10.93, 4.65]}, "trend": {"loss/objectness": [0.7008, 0.6521, 0.069], "loss/graspness": [0.3586, 0.2344, 0.346], "loss/view": [0.9498, 0.7194, 0.243], "loss/angle": [2.783, 0.8735, 0.686], "loss/depth": [1.166, 0.4605, 0.605], "loss/score": [2.316, 0.7363, 0.682], "loss/width": [2.657, 0.6824, 0.743], "loss": [10.93, 4.359, 0.601]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.107, "mean": 0.142, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.382, -1.174, -0.3134], [-1.352, -1.162, -0.4434]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.277, "peak_gpu_mib": 2315.1, "seconds": 29.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/SpUNet@spunet-gaussiancross", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=spunet-gaussiancross"], "slot": "backbone", "component": "SpUNet", "variant": "spunet-gaussiancross", "verdict": "runs", "judge": 2, "config_hash": "7f07d210c6d5a6aa", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=spunet-gaussiancross -o encoder__FineGrasp__SpUNet@spunet-gaussiancross.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__SpUNet@spunet-gaussiancross.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 43692193, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.6931, 0.5905], "loss/graspness": [0.3621, 0.08896], "loss/view": [0.3213, 0.8746], "loss/angle": [-0.0, 1.408], "loss/depth": [0.0, 0.7584], "loss/score": [-0.0, 1.169], "loss/width": [0.0, 0.8426], "loss": [1.376, 5.732]}, "trend": {"loss/objectness": [0.6931, 0.6199, 0.106], "loss/graspness": [0.3621, 0.1075, 0.703], "loss/view": [0.3213, 0.8285, -1.579], "loss/angle": [3.08, 1.357, 0.559], "loss/depth": [1.876, 0.7147, 0.619], "loss/score": [2.123, 1.125, 0.47], "loss/width": [1.198, 0.8122, 0.322], "loss": [1.376, 5.565, -3.043]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/view": ["rising"], "loss/angle": ["rising"], "loss/score": ["rising"]}, "real_seeds": {"min": 0.015, "mean": 0.951, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.191, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.862, -1.861, -1.859], [-1.861, -1.861, -1.86]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.823, "peak_gpu_mib": 11860.9, "seconds": 66.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/SpUNet@spunet", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=spunet"], "slot": "backbone", "component": "SpUNet", "variant": "spunet", "verdict": "runs-unstable", "judge": 2, "config_hash": "4523564bef15f4e5", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=spunet -o encoder__FineGrasp__SpUNet@spunet.yaml", "fitted": ["in_channels: 6"], "unstable": "1 of 20 iterations had no real seed (iteration 3).", "probe": "grasppanda probe encoder__FineGrasp__SpUNet@spunet.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 3, 14).", "judge": 2, "iterations": 20, "grasps_per_frame": [253, 278], "losses": {"loss/objectness": [0.7102, 0.6783], "loss/graspness": [0.3959, 0.2894], "loss/view": [0.9223, 0.6239], "loss/angle": [3.174, 1.012], "loss/depth": [1.908, 0.5475], "loss/score": [2.124, 0.8136], "loss/width": [0.8851, 1.305], "loss": [10.12, 5.27]}, "trend": {"loss/objectness": [0.7102, 0.6798, 0.043], "loss/graspness": [0.3959, 0.3027, 0.235], "loss/view": [0.9223, 0.6283, 0.319], "loss/angle": [3.174, 1.037, 0.673], "loss/depth": [1.908, 0.5697, 0.701], "loss/score": [2.124, 0.7967, 0.625], "loss/width": [0.8851, 2.717, -2.07], "loss": [10.12, 6.732, 0.335]}, "active": {"loss/view": 18, "loss/angle": 17, "loss/depth": 17, "loss/score": 17, "loss/width": 17}, "flags": {"loss/objectness": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.823, -3.823, -3.823], [-3.823, -3.823, -3.823]]}, "schedule": "constant", "rate": 0.002, "parameters": 43692193, "iterations": 20, "batch_size": 8, "grasps_per_frame": [359, 385], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7102, 0.6777], "loss/graspness": [0.3959, 0.293], "loss/view": [0.9223, 0.6367], "loss/angle": [3.174, 0.9159], "loss/depth": [1.908, 0.4538], "loss/score": [2.124, 0.6972], "loss/width": [0.8851, 1.227], "loss": [10.12, 4.901]}, "trend": {"loss/objectness": [0.7102, 0.6795, 0.043], "loss/graspness": [0.3959, 0.3057, 0.228], "loss/view": [0.9223, 0.6462, 0.299], "loss/angle": [3.174, 1.105, 0.652], "loss/depth": [1.908, 0.5367, 0.719], "loss/score": [2.124, 0.804, 0.622], "loss/width": [0.8851, 2.585, -1.92], "loss": [10.12, 6.662, 0.342]}, "active": {"loss/view": 19, "loss/angle": 17, "loss/depth": 17, "loss/score": 17, "loss/width": 17}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.684, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.101, "zero_iterations": 3}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.813, -3.813, -3.812], [-3.813, -3.813, -3.812]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.481, "peak_gpu_mib": 11858.6, "seconds": 53.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/SpUNet@spunet-gaussiancross", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=spunet-gaussiancross"], "slot": "backbone", "component": "SpUNet", "variant": "spunet-gaussiancross", "verdict": "runs", "judge": 2, "config_hash": "761e30784b5ef754", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=spunet-gaussiancross -o encoder__GraspNet-baseline__SpUNet@spunet-gaussiancross.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__SpUNet@spunet-gaussiancross.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 39552844, "iterations": 20, "batch_size": 2, "grasps_per_frame": [518, 500], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7336, 0.31], "loss/view": [0.1642, 0.03901], "loss/score": [0.03603, 0.02458], "loss/angle": [0.5094, 0.4429], "loss/width": [0.6359, 0.1631], "loss/tolerance": [0.8431, 0.3383], "loss": [2.922, 1.318]}, "trend": {"loss/objectness": [0.7336, 0.3701, 0.495], "loss/view": [0.1642, 0.03966, 0.759], "loss/score": [0.03603, 0.02737, 0.24], "loss/angle": [0.5094, 0.4249, 0.166], "loss/width": [0.6359, 0.1814, 0.715], "loss/tolerance": [0.8431, 0.4011, 0.524], "loss": [2.922, 1.445, 0.506]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-14.86, 0.9927, 28.97], [-13.83, 0.9489, 25.42]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 3657.8, "seconds": 18.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GraspNet-baseline/SpUNet@spunet", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=spunet"], "slot": "backbone", "component": "SpUNet", "variant": "spunet", "verdict": "runs", "judge": 2, "config_hash": "0933761d9cc15abe", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=spunet -o encoder__GraspNet-baseline__SpUNet@spunet.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__SpUNet@spunet.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 39552844, "iterations": 20, "batch_size": 2, "grasps_per_frame": [492, 418], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7529, 0.5901], "loss/view": [0.2213, 0.04279], "loss/score": [0.05985, 0.02458], "loss/angle": [0.5018, 0.4267], "loss/width": [0.4228, 0.1454], "loss/tolerance": [1.148, 0.351], "loss": [3.107, 1.581]}, "trend": {"loss/objectness": [0.7529, 0.6131, 0.186], "loss/view": [0.2213, 0.04629, 0.791], "loss/score": [0.05985, 0.02627, 0.561], "loss/angle": [0.5018, 0.4109, 0.181], "loss/width": [0.4228, 0.1571, 0.628], "loss/tolerance": [1.148, 0.3567, 0.689], "loss": [3.107, 1.61, 0.482]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-25.91, 0.7747, 27.31], [-14.0, 1.135, 35.43]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.163, "peak_gpu_mib": 3658.1, "seconds": 18.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/SpUNet@spunet-gaussiancross", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=spunet-gaussiancross"], "slot": "backbone", "component": "SpUNet", "variant": "spunet-gaussiancross", "verdict": "runs", "judge": 2, "config_hash": "bccad6521e62f646", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=spunet-gaussiancross -o encoder__Scale-Balanced-Grasp__SpUNet@spunet-gaussiancross.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__SpUNet@spunet-gaussiancross.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 40007180, "iterations": 20, "batch_size": 2, "grasps_per_frame": [115, 101], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6145, 0.1922], "loss/view": [0.2564, 0.09439], "loss/score": [0.03253, 0.023], "loss/angle": [0.5066, 0.4397], "loss/width": [0.61, 0.08651], "loss/tolerance": [0.9757, 0.1825], "loss": [2.996, 1.018]}, "trend": {"loss/objectness": [0.6145, 0.2334, 0.62], "loss/view": [0.2564, 0.1107, 0.568], "loss/score": [0.03253, 0.01849, 0.431], "loss/angle": [0.5066, 0.4144, 0.182], "loss/width": [0.61, 0.1091, 0.821], "loss/tolerance": [0.9757, 0.2282, 0.766], "loss": [2.996, 1.114, 0.628]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-3.409, -0.1062, 11.44], [-3.374, -0.147, 2.855]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.325, "peak_gpu_mib": 9109.8, "seconds": 21.8}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/SpUNet@spunet", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=spunet"], "slot": "backbone", "component": "SpUNet", "variant": "spunet", "verdict": "runs-empty", "judge": 2, "config_hash": "60e0dfa335f4d298", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=spunet -o encoder__Scale-Balanced-Grasp__SpUNet@spunet.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__SpUNet@spunet.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 40007180, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6282, 0.3743], "loss/view": [0.3224, 0.09528], "loss/score": [0.05263, 0.02039], "loss/angle": [0.4881, 0.4193], "loss/width": [0.5018, 0.08699], "loss/tolerance": [1.219, 0.1808], "loss": [3.212, 1.177]}, "trend": {"loss/objectness": [0.6282, 0.3754, 0.402], "loss/view": [0.3224, 0.1251, 0.612], "loss/score": [0.05263, 0.01986, 0.623], "loss/angle": [0.4881, 0.4066, 0.167], "loss/width": [0.5018, 0.08254, 0.835], "loss/tolerance": [1.219, 0.2095, 0.828], "loss": [3.212, 1.219, 0.62]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.321, "peak_gpu_mib": 9108.2, "seconds": 21.6}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/SparseUNet14", "group": "encoder", "method": "GSNet", "sets": ["backbone=sparse-unet14"], "slot": "backbone", "component": "SparseUNet14", "variant": "sparse-unet14", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 -o encoder__GSNet__SparseUNet14.yaml", "probed_as": "reference/GSNet", "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/SparseUNet14", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14"], "slot": "backbone", "component": "SparseUNet14", "variant": "sparse-unet14", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 -o encoder__EconomicGrasp__SparseUNet14.yaml", "probed_as": "reference/EconomicGrasp", "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/SparseUNet14", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=sparse-unet14"], "slot": "backbone", "component": "SparseUNet14", "variant": "sparse-unet14", "verdict": "runs", "judge": 2, "config_hash": "254815dc944eef7c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 -o encoder__FineGrasp__SparseUNet14.yaml", "fitted": ["in_channels: 6"], "probed_as": "reference/FineGrasp", "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/SparseUNet14", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=sparse-unet14"], "slot": "backbone", "component": "SparseUNet14", "variant": "sparse-unet14", "verdict": "runs", "judge": 2, "config_hash": "891974f36e751e2d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=sparse-unet14 -o encoder__GraspNet-baseline__SparseUNet14.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__SparseUNet14.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 14981516, "iterations": 20, "batch_size": 2, "grasps_per_frame": [556, 682], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7733, 0.427], "loss/view": [0.2189, 0.05493], "loss/score": [0.06698, 0.04251], "loss/angle": [0.5177, 0.4558], "loss/width": [0.5199, 0.1636], "loss/tolerance": [1.116, 0.4175], "loss": [3.212, 1.561]}, "trend": {"loss/objectness": [0.7733, 0.4609, 0.404], "loss/view": [0.2189, 0.05785, 0.736], "loss/score": [0.06698, 0.03614, 0.46], "loss/angle": [0.5177, 0.4447, 0.141], "loss/width": [0.5199, 0.1721, 0.669], "loss/tolerance": [1.116, 0.4276, 0.617], "loss": [3.212, 1.599, 0.502]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-19.2, 0.7163, 15.3], [-13.76, 0.3581, 19.47]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.387, "peak_gpu_mib": 3397.9, "seconds": 23.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/SparseUNet14", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14"], "slot": "backbone", "component": "SparseUNet14", "variant": "sparse-unet14", "verdict": "runs-empty", "judge": 2, "config_hash": "399e2a845e2912b9", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 -o encoder__Scale-Balanced-Grasp__SparseUNet14.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__SparseUNet14.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 15435852, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.5662, 0.3667], "loss/view": [0.3107, 0.09392], "loss/score": [0.03244, 0.02289], "loss/angle": [0.4973, 0.4423], "loss/width": [0.6155, 0.09529], "loss/tolerance": [1.189, 0.1953], "loss": [3.211, 1.216]}, "trend": {"loss/objectness": [0.5662, 0.3687, 0.349], "loss/view": [0.3107, 0.11, 0.646], "loss/score": [0.03244, 0.0193, 0.405], "loss/angle": [0.4973, 0.4343, 0.127], "loss/width": [0.6155, 0.1135, 0.816], "loss/tolerance": [1.189, 0.2571, 0.784], "loss": [3.211, 1.303, 0.594]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.268, "peak_gpu_mib": 8850.3, "seconds": 23.0}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/Uni3D", "group": "encoder", "method": "GSNet", "sets": ["backbone=uni3d"], "slot": "backbone", "component": "Uni3D", "variant": "uni3d", "verdict": "runs", "judge": 2, "config_hash": "e9f353e5bb3278ba", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=uni3d -o encoder__GSNet__Uni3D.yaml", "adapter": "FeaturePropagation", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__GSNet__Uni3D.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 22866703, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7188, 0.5786], "loss/graspness": [1.292, 0.1928], "loss/view": [2.335, 0.6317], "loss/score": [0.7881, 0.04944], "loss/width": [2.865, 0.1908], "loss": [7.999, 1.643]}, "trend": {"loss/objectness": [0.7188, 0.5939, 0.174], "loss/graspness": [1.292, 0.2177, 0.832], "loss/view": [2.335, 0.543, 0.767], "loss/score": [0.7881, 0.05434, 0.931], "loss/width": [2.865, 0.2035, 0.929], "loss": [7.999, 1.612, 0.798]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 5], "score_quantiles": [[0.4465, 0.4957, 0.51], [0.4339, 0.4943, 0.5112]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.343, "peak_gpu_mib": 7561.2, "seconds": 18.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/Uni3D", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=uni3d"], "slot": "backbone", "component": "Uni3D", "variant": "uni3d", "verdict": "runs-empty", "judge": 2, "config_hash": "9fcacddf38bbdab2", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=uni3d -o encoder__EconomicGrasp__Uni3D.yaml", "adapter": "FeaturePropagation", "fitted": ["out_channels: 512"], "probe": "grasppanda probe encoder__EconomicGrasp__Uni3D.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 23263166, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7362, 0.6117], "loss/graspness": [1.257, 0.1982], "loss/view": [2.676, 0.7842], "loss/angle": [2.915, 0.8901], "loss/depth": [0.8267, 0.449], "loss/score": [2.16, 0.7935], "loss/width": [0.8875, 0.7007], "loss": [11.46, 4.427]}, "trend": {"loss/objectness": [0.7362, 0.6333, 0.14], "loss/graspness": [1.257, 0.2259, 0.82], "loss/view": [2.676, 0.7922, 0.704], "loss/angle": [2.915, 0.8606, 0.705], "loss/depth": [0.8267, 0.4653, 0.437], "loss/score": [2.16, 0.7523, 0.652], "loss/width": [0.8875, 0.6914, 0.221], "loss": [11.46, 4.421, 0.614]}, "real_seeds": {"min": 0.852, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.172, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.294, "peak_gpu_mib": 7588.7, "seconds": 17.2}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/Uni3D", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=uni3d"], "slot": "backbone", "component": "Uni3D", "variant": "uni3d", "verdict": "runs-empty", "judge": 2, "config_hash": "cb67b37c0d64071d", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=uni3d -o encoder__FineGrasp__Uni3D.yaml", "adapter": "FeaturePropagation", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe encoder__FineGrasp__Uni3D.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 26450913, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7002, 0.4073], "loss/graspness": [0.7289, 0.3059], "loss/view": [2.065, 0.712], "loss/angle": [3.634, 1.019], "loss/depth": [1.757, 0.5798], "loss/score": [1.295, 0.8451], "loss/width": [1.676, 0.7636], "loss": [11.86, 4.633]}, "trend": {"loss/objectness": [0.7002, 0.442, 0.369], "loss/graspness": [0.7289, 0.3487, 0.522], "loss/view": [2.065, 0.6792, 0.671], "loss/angle": [3.634, 1.002, 0.724], "loss/depth": [1.757, 0.5673, 0.677], "loss/score": [1.295, 0.8394, 0.352], "loss/width": [1.676, 0.9385, 0.44], "loss": [11.86, 4.817, 0.594]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.12, "mean": 0.168, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.163, "peak_gpu_mib": 18987.5, "seconds": 57.1}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/Uni3D", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=uni3d"], "slot": "backbone", "component": "Uni3D", "variant": "uni3d", "verdict": "runs", "judge": 2, "config_hash": "13fa6fa22c4b7a51", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=uni3d -o encoder__GraspNet-baseline__Uni3D.yaml", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__Uni3D.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 22586860, "iterations": 20, "batch_size": 2, "grasps_per_frame": [857, 832], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7202, 0.4892], "loss/view": [0.1815, 0.04856], "loss/score": [0.1195, 0.03894], "loss/angle": [0.5171, 0.4288], "loss/width": [0.4723, 0.1013], "loss/tolerance": [1.158, 0.3054], "loss": [3.169, 1.412]}, "trend": {"loss/objectness": [0.7202, 0.5542, 0.231], "loss/view": [0.1815, 0.04479, 0.753], "loss/score": [0.1195, 0.02984, 0.75], "loss/angle": [0.5171, 0.4204, 0.187], "loss/width": [0.4723, 0.1258, 0.734], "loss/tolerance": [1.158, 0.3391, 0.707], "loss": [3.169, 1.514, 0.522]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [[-9.06, 2.046, 20.98], [-17.04, 1.445, 26.78]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 5270.8, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/Uni3D", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=uni3d"], "slot": "backbone", "component": "Uni3D", "variant": "uni3d", "verdict": "runs-empty", "judge": 2, "config_hash": "e8a8aaf56d36e504", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=uni3d -o encoder__Scale-Balanced-Grasp__Uni3D.yaml", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__Uni3D.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 23041196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7601, 0.3131], "loss/view": [0.2734, 0.09986], "loss/score": [0.05497, 0.01991], "loss/angle": [0.4781, 0.4078], "loss/width": [0.4604, 0.07867], "loss/tolerance": [1.037, 0.178], "loss": [3.064, 1.097]}, "trend": {"loss/objectness": [0.7601, 0.3249, 0.573], "loss/view": [0.2734, 0.1085, 0.603], "loss/score": [0.05497, 0.01815, 0.67], "loss/angle": [0.4781, 0.4022, 0.159], "loss/width": [0.4604, 0.09265, 0.799], "loss/tolerance": [1.037, 0.1967, 0.81], "loss": [3.064, 1.143, 0.627]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.327, "peak_gpu_mib": 10718.5, "seconds": 15.7}, "run": "2026-10-15@96facee"},
  {"id": "encoder/GSNet/Volt", "group": "encoder", "method": "GSNet", "sets": ["backbone=volt"], "slot": "backbone", "component": "Volt", "variant": "volt", "verdict": "runs-empty", "judge": 2, "config_hash": "2f735075ba518fdd", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=volt -o encoder__GSNet__Volt.yaml", "probe": "grasppanda probe encoder__GSNet__Volt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 24313103, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7238, 0.6935], "loss/graspness": [1.532, 0.3037], "loss/view": [1.328, 0.2902], "loss/score": [2.263, 0.07635], "loss/width": [3.217, 0.2441], "loss": [9.063, 1.608]}, "trend": {"loss/objectness": [0.7238, 0.6958, 0.039], "loss/graspness": [1.532, 0.3381, 0.779], "loss/view": [1.328, 0.2911, 0.781], "loss/score": [2.263, 0.09137, 0.96], "loss/width": [3.217, 0.2382, 0.926], "loss": [9.063, 1.655, 0.817]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.298, "peak_gpu_mib": 3012.3, "seconds": 18.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/EconomicGrasp/Volt", "group": "encoder", "method": "EconomicGrasp", "sets": ["backbone=volt"], "slot": "backbone", "component": "Volt", "variant": "volt", "verdict": "runs-empty", "judge": 2, "config_hash": "0135226a2a1a0205", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=volt -o encoder__EconomicGrasp__Volt.yaml", "probe": "grasppanda probe encoder__EconomicGrasp__Volt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 24709566, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.722, 0.6945], "loss/graspness": [1.567, 0.3456], "loss/view": [1.708, 0.7024], "loss/angle": [2.572, 0.8197], "loss/depth": [1.916, 0.4108], "loss/score": [2.601, 0.7076], "loss/width": [2.089, 0.7816], "loss": [13.17, 4.462]}, "trend": {"loss/objectness": [0.722, 0.6973, 0.034], "loss/graspness": [1.567, 0.3799, 0.757], "loss/view": [1.708, 0.7393, 0.567], "loss/angle": [2.572, 0.8013, 0.688], "loss/depth": [1.916, 0.4288, 0.776], "loss/score": [2.601, 0.6957, 0.732], "loss/width": [2.089, 0.7509, 0.641], "loss": [13.17, 4.493, 0.659]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.101, "mean": 0.107, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.187, "peak_gpu_mib": 3246.4, "seconds": 15.6}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/FineGrasp/Volt", "group": "encoder", "method": "FineGrasp", "sets": ["backbone=volt"], "slot": "backbone", "component": "Volt", "variant": "volt", "verdict": "runs-empty", "judge": 2, "config_hash": "4b0be9e12688973a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=volt -o encoder__FineGrasp__Volt.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe encoder__FineGrasp__Volt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 28236769, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7115, 0.6934], "loss/graspness": [0.8172, 0.3281], "loss/view": [1.746, 0.6028], "loss/angle": [2.748, 0.8813], "loss/depth": [2.119, 0.4473], "loss/score": [1.26, 0.7348], "loss/width": [3.648, 0.7158], "loss": [13.05, 4.403]}, "trend": {"loss/objectness": [0.7115, 0.6925, 0.027], "loss/graspness": [0.8172, 0.3354, 0.59], "loss/view": [1.746, 0.6043, 0.654], "loss/angle": [2.748, 0.8902, 0.676], "loss/depth": [2.119, 0.4778, 0.775], "loss/score": [1.26, 0.7568, 0.399], "loss/width": [3.648, 0.735, 0.799], "loss": [13.05, 4.492, 0.656]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.758, "peak_gpu_mib": 13756.2, "seconds": 57.7}, "run": "2026-10-15@2a3760a"},
  {"id": "encoder/GraspNet-baseline/Volt", "group": "encoder", "method": "GraspNet-baseline", "sets": ["backbone=volt"], "slot": "backbone", "component": "Volt", "variant": "volt", "verdict": "runs", "judge": 2, "config_hash": "ccacf35d149b3fbe", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=volt -o encoder__GraspNet-baseline__Volt.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__GraspNet-baseline__Volt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 23956972, "iterations": 20, "batch_size": 2, "grasps_per_frame": [261, 247], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7538, 0.6918], "loss/view": [0.1969, 0.05325], "loss/score": [0.07605, 0.03565], "loss/angle": [0.5064, 0.4645], "loss/width": [0.5673, 0.1724], "loss/tolerance": [1.3, 0.3992], "loss": [3.4, 1.817]}, "trend": {"loss/objectness": [0.7538, 0.6978, 0.074], "loss/view": [0.1969, 0.05875, 0.702], "loss/score": [0.07605, 0.03494, 0.541], "loss/angle": [0.5064, 0.4293, 0.152], "loss/width": [0.5673, 0.1739, 0.693], "loss/tolerance": [1.3, 0.3726, 0.713], "loss": [3.4, 1.767, 0.48]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-12.42, 0.1285, 12.57], [-8.767, 0.2911, 13.28]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.185, "peak_gpu_mib": 4102.9, "seconds": 12.1}, "run": "2026-10-15@96facee"},
  {"id": "encoder/Scale-Balanced-Grasp/Volt", "group": "encoder", "method": "Scale-Balanced-Grasp", "sets": ["backbone=volt"], "slot": "backbone", "component": "Volt", "variant": "volt", "verdict": "runs-empty", "judge": 2, "config_hash": "8354ae98404b8ff1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=volt -o encoder__Scale-Balanced-Grasp__Volt.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe encoder__Scale-Balanced-Grasp__Volt.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 24411308, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.9442, 0.4195], "loss/view": [0.2768, 0.1172], "loss/score": [0.03951, 0.02175], "loss/angle": [0.5099, 0.4243], "loss/width": [0.5313, 0.1104], "loss/tolerance": [0.8923, 0.275], "loss": [3.194, 1.368]}, "trend": {"loss/objectness": [0.9442, 0.3854, 0.592], "loss/view": [0.2768, 0.1347, 0.513], "loss/score": [0.03951, 0.02005, 0.493], "loss/angle": [0.5099, 0.4272, 0.162], "loss/width": [0.5313, 0.1246, 0.765], "loss/tolerance": [0.8923, 0.3041, 0.659], "loss": [3.194, 1.396, 0.563]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.294, "peak_gpu_mib": 9553.1, "seconds": 14.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/dense-ffps", "group": "stage", "method": "GSNet", "sets": ["proposal=dense-ffps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-ffps", "verdict": "runs", "judge": 2, "config_hash": "26cf108fe9508da4", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=dense-ffps -o stage__GSNet__proposal__dense-ffps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__dense-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [13.01, 0.32], "loss/score": [1.714, 0.07139], "loss/width": [2.673, 0.2311], "loss": [17.39, 0.6225]}, "trend": {"loss/view": [13.01, 0.3311, 0.975], "loss/score": [1.714, 0.08922, 0.948], "loss/width": [2.673, 0.2333, 0.913], "loss": [17.39, 0.6536, 0.962]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.05761, 0.1525, 0.3179], [0.0685, 0.1514, 0.2999]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 2.416, "peak_gpu_mib": 1839.2, "seconds": 78.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/dense-ffps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=dense-ffps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-ffps", "verdict": "runs", "judge": 2, "config_hash": "2666d82a2dbdb3df", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=dense-ffps -o stage__EconomicGrasp__proposal__dense-ffps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__dense-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [13.68, 0.7485], "loss/angle": [2.597, 0.7753], "loss/depth": [1.816, 0.4485], "loss/score": [2.343, 0.656], "loss/width": [2.087, 0.6576], "loss": [22.53, 3.286]}, "trend": {"loss/view": [13.68, 0.7408, 0.946], "loss/angle": [2.597, 0.818, 0.685], "loss/depth": [1.816, 0.4347, 0.761], "loss/score": [2.343, 0.7013, 0.701], "loss/width": [2.087, 0.8997, 0.569], "loss": [22.53, 3.594, 0.84]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.134, "mean": 0.174, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.239, -1.99, -1.711], [-2.446, -2.0, -1.676]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 2.427, "peak_gpu_mib": 1969.0, "seconds": 79.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/dense-ffps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=dense-ffps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-ffps", "verdict": "runs", "judge": 2, "config_hash": "f6829cf360073411", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=dense-ffps -o stage__FineGrasp__proposal__dense-ffps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__dense-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [13.72, 0.6516], "loss/angle": [2.752, 0.723], "loss/depth": [2.386, 0.3937], "loss/score": [2.535, 0.6504], "loss/width": [0.9644, 0.7896], "loss": [22.36, 3.208]}, "trend": {"loss/view": [13.72, 0.6562, 0.952], "loss/angle": [2.752, 0.7432, 0.73], "loss/depth": [2.386, 0.4031, 0.831], "loss/score": [2.535, 0.6522, 0.743], "loss/width": [0.9644, 0.7548, 0.217], "loss": [22.36, 3.209, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.114, "mean": 0.124, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-3.098, -3.097, -3.097], [-3.098, -3.097, -3.097]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 3.471, "peak_gpu_mib": 11543.0, "seconds": 145.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/dense-ffps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=dense-ffps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-ffps", "verdict": "runs", "judge": 2, "config_hash": "f588fc5b90d4b864", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=dense-ffps -o stage__GraspNet-baseline__proposal__dense-ffps.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__GraspNet-baseline__proposal__dense-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [240, 419], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7558, 0.5408], "loss/view": [0.2023, 0.06387], "loss/score": [0.06171, 0.03089], "loss/angle": [0.5009, 0.4339], "loss/width": [0.4652, 0.1449], "loss/tolerance": [1.241, 0.3318], "loss": [3.227, 1.546]}, "trend": {"loss/objectness": [0.7558, 0.5548, 0.266], "loss/view": [0.2023, 0.06624, 0.673], "loss/score": [0.06171, 0.02733, 0.557], "loss/angle": [0.5009, 0.4503, 0.101], "loss/width": [0.4652, 0.1802, 0.613], "loss/tolerance": [1.241, 0.42, 0.662], "loss": [3.227, 1.699, 0.474]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.451, "mean": 0.486, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-16.71, -0.8232, 14.37], [-25.05, -0.8252, 13.08]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.872, "peak_gpu_mib": 4172.3, "seconds": 24.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/dense-ffps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=dense-ffps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-ffps", "verdict": "runs-empty", "judge": 2, "config_hash": "dfab7e6aea67928e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=dense-ffps -o stage__Scale-Balanced-Grasp__proposal__dense-ffps.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__dense-ffps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709292, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6482, 0.2734], "loss/view": [0.274, 0.1027], "loss/score": [0.04482, 0.02893], "loss/angle": [0.5116, 0.4698], "loss/width": [0.4787, 0.1107], "loss/tolerance": [0.7979, 0.2933], "loss": [2.755, 1.279]}, "trend": {"loss/objectness": [0.6482, 0.2599, 0.599], "loss/view": [0.274, 0.123, 0.551], "loss/score": [0.04482, 0.02183, 0.513], "loss/angle": [0.5116, 0.4495, 0.121], "loss/width": [0.4787, 0.1217, 0.746], "loss/tolerance": [0.7979, 0.2662, 0.666], "loss": [2.755, 1.242, 0.549]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.488, "mean": 0.513, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.867, "peak_gpu_mib": 9816.9, "seconds": 26.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/dense-fps", "group": "stage", "method": "GSNet", "sets": ["proposal=dense-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fps", "verdict": "runs", "judge": 2, "config_hash": "f9b936b4066c293e", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=dense-fps -o stage__GSNet__proposal__dense-fps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__dense-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.221, 0.296], "loss/score": [1.83, 0.05311], "loss/width": [3.404, 0.2322], "loss": [10.46, 0.5813]}, "trend": {"loss/view": [5.221, 0.2923, 0.944], "loss/score": [1.83, 0.06439, 0.965], "loss/width": [3.404, 0.2171, 0.936], "loss": [10.46, 0.5738, 0.945]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.08018, 0.1281, 0.2318], [0.06338, 0.1294, 0.2098]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.212, "peak_gpu_mib": 1838.2, "seconds": 28.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/dense-fps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=dense-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fps", "verdict": "runs", "judge": 2, "config_hash": "dbf9e95d24673b56", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=dense-fps -o stage__EconomicGrasp__proposal__dense-fps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__dense-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.619, 0.6514], "loss/angle": [2.566, 0.636], "loss/depth": [1.808, 0.3686], "loss/score": [2.336, 0.5777], "loss/width": [2.364, 0.6452], "loss": [14.69, 2.879]}, "trend": {"loss/view": [5.619, 0.6537, 0.884], "loss/angle": [2.566, 0.7408, 0.711], "loss/depth": [1.808, 0.431, 0.762], "loss/score": [2.336, 0.6548, 0.72], "loss/width": [2.364, 0.8532, 0.639], "loss": [14.69, 3.333, 0.773]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.397, -2.164, -1.904], [-2.627, -2.159, -1.857]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.234, "peak_gpu_mib": 1976.5, "seconds": 27.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/dense-fps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=dense-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fps", "verdict": "runs", "judge": 2, "config_hash": "7b16ebb864c69d65", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=dense-fps -o stage__FineGrasp__proposal__dense-fps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__dense-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [5.581, 0.6218], "loss/angle": [2.767, 0.8054], "loss/depth": [2.42, 0.4191], "loss/score": [2.499, 0.6687], "loss/width": [1.186, 0.6359], "loss": [14.45, 3.151]}, "trend": {"loss/view": [5.581, 0.6257, 0.888], "loss/angle": [2.767, 0.766, 0.723], "loss/depth": [2.42, 0.4027, 0.834], "loss/score": [2.499, 0.6523, 0.739], "loss/width": [1.186, 0.6816, 0.425], "loss": [14.45, 3.128, 0.784]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-3.079, -3.078, -3.078], [-3.079, -3.078, -3.078]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.676, "peak_gpu_mib": 11543.0, "seconds": 72.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/dense-fps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=dense-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fps", "verdict": "runs", "judge": 2, "config_hash": "6016fdeee43dbf95", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=dense-fps -o stage__GraspNet-baseline__proposal__dense-fps.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__GraspNet-baseline__proposal__dense-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [385, 384], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7504, 0.5701], "loss/view": [0.2067, 0.06926], "loss/score": [0.07258, 0.03199], "loss/angle": [0.4959, 0.4474], "loss/width": [0.503, 0.1986], "loss/tolerance": [1.103, 0.3481], "loss": [3.132, 1.665]}, "trend": {"loss/objectness": [0.7504, 0.5831, 0.223], "loss/view": [0.2067, 0.07198, 0.652], "loss/score": [0.07258, 0.03022, 0.584], "loss/angle": [0.4959, 0.4491, 0.094], "loss/width": [0.503, 0.1938, 0.615], "loss/tolerance": [1.103, 0.3839, 0.652], "loss": [3.132, 1.712, 0.453]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-18.93, 1.31, 27.28], [-24.07, 0.142, 26.63]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.19, "peak_gpu_mib": 4173.3, "seconds": 11.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/dense-fps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=dense-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fps", "verdict": "runs", "judge": 2, "config_hash": "31a01d07c88f6221", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=dense-fps -o stage__Scale-Balanced-Grasp__proposal__dense-fps.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__dense-fps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709292, "iterations": 20, "batch_size": 2, "grasps_per_frame": [6, 4], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6557, 0.3388], "loss/view": [0.2733, 0.1077], "loss/score": [0.03225, 0.02023], "loss/angle": [0.5228, 0.4515], "loss/width": [0.4773, 0.1216], "loss/tolerance": [0.7964, 0.2323], "loss": [2.758, 1.272]}, "trend": {"loss/objectness": [0.6557, 0.3285, 0.499], "loss/view": [0.2733, 0.1212, 0.557], "loss/score": [0.03225, 0.01994, 0.382], "loss/angle": [0.5228, 0.4317, 0.174], "loss/width": [0.4773, 0.1245, 0.739], "loss/tolerance": [0.7964, 0.243, 0.695], "loss": [2.758, 1.269, 0.54]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-5.071, -1.247, 0.6816], [-10.37, -6.591, -3.892]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.445, "peak_gpu_mib": 9816.6, "seconds": 15.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/dense-fpsample", "group": "stage", "method": "GSNet", "sets": ["proposal=dense-fpsample"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fpsample", "verdict": "runs", "judge": 2, "config_hash": "b899d7849dc93dfe", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=dense-fpsample -o stage__GSNet__proposal__dense-fpsample.yaml", "probe": "grasppanda probe stage__GSNet__proposal__dense-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.245, 0.2969], "loss/score": [1.808, 0.05592], "loss/width": [3.377, 0.2219], "loss": [10.43, 0.5748]}, "trend": {"loss/view": [5.245, 0.2942, 0.944], "loss/score": [1.808, 0.06598, 0.964], "loss/width": [3.377, 0.2261, 0.933], "loss": [10.43, 0.5862, 0.944]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.0681, 0.1277, 0.2123], [0.07703, 0.1385, 0.2304]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.161, "peak_gpu_mib": 1838.2, "seconds": 27.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/dense-fpsample", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=dense-fpsample"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fpsample", "verdict": "runs", "judge": 2, "config_hash": "390d3ee978edb83b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=dense-fpsample -o stage__EconomicGrasp__proposal__dense-fpsample.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__dense-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.64, 0.6482], "loss/angle": [2.581, 0.7266], "loss/depth": [1.781, 0.4352], "loss/score": [2.298, 0.6391], "loss/width": [2.399, 0.718], "loss": [14.7, 3.167]}, "trend": {"loss/view": [5.64, 0.6535, 0.884], "loss/angle": [2.581, 0.7073, 0.726], "loss/depth": [1.781, 0.4052, 0.773], "loss/score": [2.298, 0.613, 0.733], "loss/width": [2.399, 0.8016, 0.666], "loss": [14.7, 3.181, 0.784]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.304, -2.033, -1.75], [-2.358, -2.094, -1.814]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.815, "peak_gpu_mib": 1976.5, "seconds": 35.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/dense-fpsample", "group": "stage", "method": "FineGrasp", "sets": ["proposal=dense-fpsample"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fpsample", "verdict": "runs", "judge": 2, "config_hash": "efddd3172004c1bc", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=dense-fpsample -o stage__FineGrasp__proposal__dense-fpsample.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__dense-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [5.586, 0.6111], "loss/angle": [2.793, 0.8765], "loss/depth": [2.466, 0.4842], "loss/score": [2.499, 0.7532], "loss/width": [1.123, 0.7649], "loss": [14.47, 3.49]}, "trend": {"loss/view": [5.586, 0.6178, 0.889], "loss/angle": [2.793, 0.8053, 0.712], "loss/depth": [2.466, 0.4308, 0.825], "loss/score": [2.499, 0.6913, 0.723], "loss/width": [1.123, 0.7418, 0.339], "loss": [14.47, 3.287, 0.773]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.1, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-3.196, -3.196, -3.195], [-3.196, -3.196, -3.195]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.704, "peak_gpu_mib": 11543.0, "seconds": 71.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/dense-fpsample", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=dense-fpsample"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fpsample", "verdict": "runs", "judge": 2, "config_hash": "30cca1bdf764e0bb", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=dense-fpsample -o stage__GraspNet-baseline__proposal__dense-fpsample.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__GraspNet-baseline__proposal__dense-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [304, 369], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7503, 0.5728], "loss/view": [0.2058, 0.06769], "loss/score": [0.05105, 0.02349], "loss/angle": [0.4979, 0.438], "loss/width": [0.5573, 0.1744], "loss/tolerance": [1.018, 0.4401], "loss": [3.08, 1.716]}, "trend": {"loss/objectness": [0.7503, 0.5694, 0.241], "loss/view": [0.2058, 0.06762, 0.671], "loss/score": [0.05105, 0.02842, 0.443], "loss/angle": [0.4979, 0.4403, 0.116], "loss/width": [0.5573, 0.187, 0.664], "loss/tolerance": [1.018, 0.4559, 0.552], "loss": [3.08, 1.749, 0.432]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.475, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-24.06, -1.651, 17.27], [-23.2, -2.335, 28.26]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.291, "peak_gpu_mib": 4173.3, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/dense-fpsample", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=dense-fpsample"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fpsample", "verdict": "runs", "judge": 2, "config_hash": "ea0fc6b932932bc1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=dense-fpsample -o stage__Scale-Balanced-Grasp__proposal__dense-fpsample.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__dense-fpsample.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709292, "iterations": 20, "batch_size": 2, "grasps_per_frame": [14, 36], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.65, 0.3187], "loss/view": [0.2744, 0.1134], "loss/score": [0.03636, 0.02109], "loss/angle": [0.5083, 0.4474], "loss/width": [0.4677, 0.1377], "loss/tolerance": [0.7656, 0.3395], "loss": [2.702, 1.378]}, "trend": {"loss/objectness": [0.65, 0.317, 0.512], "loss/view": [0.2744, 0.1237, 0.549], "loss/score": [0.03636, 0.02083, 0.427], "loss/angle": [0.5083, 0.4319, 0.15], "loss/width": [0.4677, 0.1615, 0.655], "loss/tolerance": [0.7656, 0.2964, 0.613], "loss": [2.702, 1.351, 0.5]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.475, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.3644, 4.177, 13.38], [-1.65, 3.998, 21.89]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.409, "peak_gpu_mib": 9816.6, "seconds": 15.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/dense-fusion-fps", "group": "stage", "method": "GSNet", "sets": ["proposal=dense-fusion-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "cba7675c2fa189bc", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=dense-fusion-fps -o stage__GSNet__proposal__dense-fusion-fps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__dense-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [9.956, 0.2979], "loss/score": [1.644, 0.08048], "loss/width": [2.777, 0.2239], "loss": [14.38, 0.6023]}, "trend": {"loss/view": [9.956, 0.3032, 0.97], "loss/score": [1.644, 0.09126, 0.944], "loss/width": [2.777, 0.2398, 0.914], "loss": [14.38, 0.6343, 0.956]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.08315, 0.1669, 0.2964], [0.07808, 0.1576, 0.2937]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.723, "peak_gpu_mib": 1840.5, "seconds": 60.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/dense-fusion-fps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=dense-fusion-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "6279ac16398026df", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=dense-fusion-fps -o stage__EconomicGrasp__proposal__dense-fusion-fps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__dense-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [10.64, 0.7023], "loss/angle": [2.635, 0.6523], "loss/depth": [1.815, 0.3539], "loss/score": [2.359, 0.5663], "loss/width": [2.086, 0.6994], "loss": [19.53, 2.974]}, "trend": {"loss/view": [10.64, 0.6989, 0.934], "loss/angle": [2.635, 0.7163, 0.728], "loss/depth": [1.815, 0.4102, 0.774], "loss/score": [2.359, 0.6355, 0.731], "loss/width": [2.086, 0.869, 0.583], "loss": [19.53, 3.33, 0.83]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.122, "mean": 0.145, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.251, -1.973, -1.667], [-2.233, -2.012, -1.714]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.689, "peak_gpu_mib": 1969.0, "seconds": 53.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/dense-fusion-fps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=dense-fusion-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "0e5b4afc46e67eac", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=dense-fusion-fps -o stage__FineGrasp__proposal__dense-fusion-fps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__dense-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [10.65, 0.6354], "loss/angle": [2.767, 0.7966], "loss/depth": [2.424, 0.3809], "loss/score": [2.527, 0.6805], "loss/width": [1.088, 0.7556], "loss": [19.46, 3.249]}, "trend": {"loss/view": [10.65, 0.6421, 0.94], "loss/angle": [2.767, 0.732, 0.735], "loss/depth": [2.424, 0.3693, 0.848], "loss/score": [2.527, 0.626, 0.752], "loss/width": [1.088, 0.8231, 0.244], "loss": [19.46, 3.192, 0.836]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.111, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-2.896, -2.896, -2.896], [-2.896, -2.896, -2.896]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 3.783, "peak_gpu_mib": 11543.0, "seconds": 133.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/dense-fusion-fps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=dense-fusion-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "30588dd37cac7402", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=dense-fusion-fps -o stage__GraspNet-baseline__proposal__dense-fusion-fps.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__GraspNet-baseline__proposal__dense-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [181, 189], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7583, 0.5395], "loss/view": [0.1977, 0.06071], "loss/score": [0.05118, 0.04247], "loss/angle": [0.5034, 0.4551], "loss/width": [0.4915, 0.2047], "loss/tolerance": [1.031, 0.4853], "loss": [3.033, 1.788]}, "trend": {"loss/objectness": [0.7583, 0.5758, 0.241], "loss/view": [0.1977, 0.06042, 0.694], "loss/score": [0.05118, 0.03049, 0.404], "loss/angle": [0.5034, 0.4421, 0.122], "loss/width": [0.4915, 0.2337, 0.524], "loss/tolerance": [1.031, 0.4871, 0.527], "loss": [3.033, 1.83, 0.397]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.449, "mean": 0.472, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-20.26, -1.124, 13.31], [-21.3, -1.431, 13.91]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.893, "peak_gpu_mib": 4172.3, "seconds": 26.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/dense-fusion-fps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=dense-fusion-fps"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-fusion-fps", "verdict": "runs-empty", "judge": 2, "config_hash": "dc3850bf4c04fd45", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=dense-fusion-fps -o stage__Scale-Balanced-Grasp__proposal__dense-fusion-fps.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__dense-fusion-fps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709292, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6481, 0.2938], "loss/view": [0.2784, 0.11], "loss/score": [0.04575, 0.03097], "loss/angle": [0.5098, 0.4444], "loss/width": [0.5266, 0.2029], "loss/tolerance": [0.7771, 0.3209], "loss": [2.786, 1.403]}, "trend": {"loss/objectness": [0.6481, 0.2715, 0.581], "loss/view": [0.2784, 0.12, 0.569], "loss/score": [0.04575, 0.0257, 0.438], "loss/angle": [0.5098, 0.4405, 0.136], "loss/width": [0.5266, 0.1559, 0.704], "loss/tolerance": [0.7771, 0.313, 0.597], "loss": [2.786, 1.326, 0.524]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.465, "mean": 0.492, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.935, "peak_gpu_mib": 9815.7, "seconds": 27.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/dense-random", "group": "stage", "method": "GSNet", "sets": ["proposal=dense-random"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-random", "verdict": "runs", "judge": 2, "config_hash": "ea30d4210f22aa49", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=dense-random -o stage__GSNet__proposal__dense-random.yaml", "probe": "grasppanda probe stage__GSNet__proposal__dense-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [6.177, 0.3291], "loss/score": [1.758, 0.06748], "loss/width": [3.358, 0.2579], "loss": [11.29, 0.6546]}, "trend": {"loss/view": [6.177, 0.3185, 0.948], "loss/score": [1.758, 0.07907, 0.955], "loss/width": [3.358, 0.2316, 0.931], "loss": [11.29, 0.6291, 0.944]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.06032, 0.1361, 0.2711], [0.06827, 0.1531, 0.3175]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 1841.3, "seconds": 26.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/dense-random", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=dense-random"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-random", "verdict": "runs", "judge": 2, "config_hash": "2a22f9e39de008a1", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=dense-random -o stage__EconomicGrasp__proposal__dense-random.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__dense-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [6.516, 0.6887], "loss/angle": [2.605, 0.8237], "loss/depth": [1.808, 0.4376], "loss/score": [2.394, 0.6841], "loss/width": [2.663, 0.6648], "loss": [15.99, 3.299]}, "trend": {"loss/view": [6.516, 0.6778, 0.896], "loss/angle": [2.605, 0.8007, 0.693], "loss/depth": [1.808, 0.4401, 0.757], "loss/score": [2.394, 0.6891, 0.712], "loss/width": [2.663, 0.8062, 0.697], "loss": [15.99, 3.414, 0.786]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.112, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.351, -2.007, -1.679], [-2.3, -2.049, -1.677]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.156, "peak_gpu_mib": 1976.5, "seconds": 25.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/dense-random", "group": "stage", "method": "FineGrasp", "sets": ["proposal=dense-random"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-random", "verdict": "runs", "judge": 2, "config_hash": "5b39a7dd93341cf1", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=dense-random -o stage__FineGrasp__proposal__dense-random.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__dense-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [6.399, 0.6491], "loss/angle": [2.808, 0.8703], "loss/depth": [2.44, 0.5014], "loss/score": [2.526, 0.7375], "loss/width": [1.322, 0.8222], "loss": [15.49, 3.58]}, "trend": {"loss/view": [6.399, 0.648, 0.899], "loss/angle": [2.808, 0.872, 0.689], "loss/depth": [2.44, 0.4896, 0.799], "loss/score": [2.526, 0.7305, 0.711], "loss/width": [1.322, 0.756, 0.428], "loss": [15.49, 3.496, 0.774]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.107, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-3.097, -3.097, -3.096], [-3.097, -3.097, -3.097]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.749, "peak_gpu_mib": 11543.0, "seconds": 70.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/dense-random", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=dense-random"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-random", "verdict": "runs", "judge": 2, "config_hash": "94f7a60afefe3dda", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=dense-random -o stage__GraspNet-baseline__proposal__dense-random.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__GraspNet-baseline__proposal__dense-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [599, 206], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7436, 0.5403], "loss/view": [0.2229, 0.07859], "loss/score": [0.06068, 0.03153], "loss/angle": [0.498, 0.4314], "loss/width": [0.5022, 0.1534], "loss/tolerance": [1.02, 0.4288], "loss": [3.047, 1.664]}, "trend": {"loss/objectness": [0.7436, 0.5588, 0.248], "loss/view": [0.2229, 0.08004, 0.641], "loss/score": [0.06068, 0.03064, 0.495], "loss/angle": [0.498, 0.4431, 0.11], "loss/width": [0.5022, 0.1816, 0.638], "loss/tolerance": [1.02, 0.42, 0.588], "loss": [3.047, 1.714, 0.437]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.509, "mean": 0.541, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-38.01, 0.1099, 14.12], [-22.34, -0.4745, 15.49]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.209, "peak_gpu_mib": 4173.1, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/dense-random", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=dense-random"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-random", "verdict": "runs", "judge": 2, "config_hash": "0fb853746396d68e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=dense-random -o stage__Scale-Balanced-Grasp__proposal__dense-random.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__dense-random.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709292, "iterations": 20, "batch_size": 2, "grasps_per_frame": [20, 12], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6654, 0.382], "loss/view": [0.2859, 0.1176], "loss/score": [0.02887, 0.02454], "loss/angle": [0.5229, 0.4197], "loss/width": [0.3527, 0.1182], "loss/tolerance": [0.7897, 0.2886], "loss": [2.646, 1.351]}, "trend": {"loss/objectness": [0.6654, 0.3585, 0.461], "loss/view": [0.2859, 0.1239, 0.567], "loss/score": [0.02887, 0.02284, 0.209], "loss/angle": [0.5229, 0.4223, 0.192], "loss/width": [0.3527, 0.1393, 0.605], "loss/tolerance": [0.7897, 0.2916, 0.631], "loss": [2.646, 1.358, 0.487]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.509, "mean": 0.541, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-4.483, -0.5465, 1.57], [-2.261, -0.4642, 1.758]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.297, "peak_gpu_mib": 9814.8, "seconds": 13.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/dense-torch-cluster", "group": "stage", "method": "GSNet", "sets": ["proposal=dense-torch-cluster"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "8b5bdbfed7bcba21", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=dense-torch-cluster -o stage__GSNet__proposal__dense-torch-cluster.yaml", "probe": "grasppanda probe stage__GSNet__proposal__dense-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.221, 0.296], "loss/score": [1.83, 0.05578], "loss/width": [3.404, 0.2444], "loss": [10.46, 0.5962]}, "trend": {"loss/view": [5.221, 0.2923, 0.944], "loss/score": [1.83, 0.06639, 0.964], "loss/width": [3.404, 0.22, 0.935], "loss": [10.46, 0.5787, 0.945]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.06541, 0.1215, 0.2057], [0.06908, 0.1174, 0.2058]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.245, "peak_gpu_mib": 1838.2, "seconds": 28.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/dense-torch-cluster", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=dense-torch-cluster"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "b27c7c0ee4360a65", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=dense-torch-cluster -o stage__EconomicGrasp__proposal__dense-torch-cluster.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__dense-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.619, 0.6511], "loss/angle": [2.566, 0.6581], "loss/depth": [1.808, 0.3709], "loss/score": [2.336, 0.6029], "loss/width": [2.364, 0.6505], "loss": [14.69, 2.934]}, "trend": {"loss/view": [5.619, 0.6536, 0.884], "loss/angle": [2.566, 0.7299, 0.716], "loss/depth": [1.808, 0.4295, 0.762], "loss/score": [2.336, 0.6538, 0.72], "loss/width": [2.364, 0.8602, 0.636], "loss": [14.69, 3.327, 0.774]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.449, -2.179, -1.887], [-2.527, -2.164, -1.814]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.558, "peak_gpu_mib": 1976.5, "seconds": 40.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/dense-torch-cluster", "group": "stage", "method": "FineGrasp", "sets": ["proposal=dense-torch-cluster"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "8e504a74e417b563", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=dense-torch-cluster -o stage__FineGrasp__proposal__dense-torch-cluster.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__dense-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [5.581, 0.6218], "loss/angle": [2.767, 0.8054], "loss/depth": [2.42, 0.419], "loss/score": [2.499, 0.6689], "loss/width": [1.186, 0.636], "loss": [14.45, 3.151]}, "trend": {"loss/view": [5.581, 0.6257, 0.888], "loss/angle": [2.767, 0.7673, 0.723], "loss/depth": [2.42, 0.4027, 0.834], "loss/score": [2.499, 0.6534, 0.738], "loss/width": [1.186, 0.6816, 0.425], "loss": [14.45, 3.131, 0.783]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-3.106, -3.105, -3.105], [-3.106, -3.105, -3.105]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.916, "peak_gpu_mib": 11543.0, "seconds": 79.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/dense-torch-cluster", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=dense-torch-cluster"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "c1d031351e0d57f6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=dense-torch-cluster -o stage__GraspNet-baseline__proposal__dense-torch-cluster.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__GraspNet-baseline__proposal__dense-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [546, 207], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7504, 0.5704], "loss/view": [0.2067, 0.06777], "loss/score": [0.07258, 0.02801], "loss/angle": [0.4959, 0.4436], "loss/width": [0.503, 0.1582], "loss/tolerance": [1.103, 0.4207], "loss": [3.132, 1.689]}, "trend": {"loss/objectness": [0.7504, 0.5736, 0.236], "loss/view": [0.2067, 0.0693, 0.665], "loss/score": [0.07258, 0.02876, 0.604], "loss/angle": [0.4959, 0.4493, 0.094], "loss/width": [0.503, 0.1738, 0.655], "loss/tolerance": [1.103, 0.4083, 0.63], "loss": [3.132, 1.703, 0.456]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-22.92, 0.1748, 30.04], [-11.46, -0.2139, 17.62]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.309, "peak_gpu_mib": 4173.3, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/dense-torch-cluster", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=dense-torch-cluster"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-torch-cluster", "verdict": "runs-empty", "judge": 2, "config_hash": "d86a506b397bc0a8", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=dense-torch-cluster -o stage__Scale-Balanced-Grasp__proposal__dense-torch-cluster.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__dense-torch-cluster.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709292, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6557, 0.3404], "loss/view": [0.2733, 0.1095], "loss/score": [0.03225, 0.02265], "loss/angle": [0.5228, 0.4333], "loss/width": [0.4773, 0.1043], "loss/tolerance": [0.7964, 0.2295], "loss": [2.758, 1.24]}, "trend": {"loss/objectness": [0.6557, 0.3222, 0.509], "loss/view": [0.2733, 0.1212, 0.557], "loss/score": [0.03225, 0.02068, 0.359], "loss/angle": [0.5228, 0.4242, 0.189], "loss/width": [0.4773, 0.1326, 0.722], "loss/tolerance": [0.7964, 0.2455, 0.692], "loss": [2.758, 1.266, 0.541]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.52, "peak_gpu_mib": 9816.6, "seconds": 17.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/dense-voxel", "group": "stage", "method": "GSNet", "sets": ["proposal=dense-voxel"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-voxel", "verdict": "runs", "judge": 2, "config_hash": "0ba35c56783e9154", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=dense-voxel -o stage__GSNet__proposal__dense-voxel.yaml", "probe": "grasppanda probe stage__GSNet__proposal__dense-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [964, 999], "frames": 8, "losses": {"loss/view": [4.617, 0.3433], "loss/score": [1.816, 0.06038], "loss/width": [2.951, 0.2579], "loss": [9.383, 0.6615]}, "trend": {"loss/view": [4.617, 0.3046, 0.934], "loss/score": [1.816, 0.06753, 0.963], "loss/width": [2.951, 0.2262, 0.923], "loss": [9.383, 0.5984, 0.936]}, "real_seeds": {"min": 0.78, "mean": 0.839, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.06582, 0.128, 0.232], [0.05972, 0.1283, 0.2425]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 1841.3, "seconds": 27.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/dense-voxel", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=dense-voxel"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-voxel", "verdict": "runs", "judge": 2, "config_hash": "55e98548bb6a7cb3", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=dense-voxel -o stage__EconomicGrasp__proposal__dense-voxel.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__dense-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [979, 1024], "frames": 8, "losses": {"loss/view": [5.053, 0.6105], "loss/angle": [2.587, 0.8319], "loss/depth": [1.817, 0.4808], "loss/score": [2.352, 0.672], "loss/width": [2.216, 0.6194], "loss": [14.03, 3.215]}, "trend": {"loss/view": [5.053, 0.6128, 0.879], "loss/angle": [2.587, 0.6781, 0.738], "loss/depth": [1.817, 0.3903, 0.785], "loss/score": [2.352, 0.5727, 0.756], "loss/width": [2.216, 0.7576, 0.658], "loss": [14.03, 3.011, 0.785]}, "real_seeds": {"min": 0.813, "mean": 0.865, "zero_iterations": 0}, "supervised_seeds": {"min": 0.087, "mean": 0.095, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.392, -2.079, -1.791], [-2.381, -2.099, -1.79]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.147, "peak_gpu_mib": 1976.5, "seconds": 25.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/dense-voxel", "group": "stage", "method": "FineGrasp", "sets": ["proposal=dense-voxel"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-voxel", "verdict": "runs", "judge": 2, "config_hash": "d0cebfd3191b0f52", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=dense-voxel -o stage__FineGrasp__proposal__dense-voxel.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__dense-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [979, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [4.924, 0.5699], "loss/angle": [2.78, 0.8627], "loss/depth": [2.455, 0.4703], "loss/score": [2.473, 0.7517], "loss/width": [1.273, 0.7369], "loss": [13.91, 3.392]}, "trend": {"loss/view": [4.924, 0.5762, 0.883], "loss/angle": [2.78, 0.8297, 0.702], "loss/depth": [2.455, 0.4566, 0.814], "loss/score": [2.473, 0.7169, 0.71], "loss/width": [1.273, 0.7229, 0.432], "loss": [13.91, 3.302, 0.763]}, "real_seeds": {"min": 0.861, "mean": 0.865, "zero_iterations": 0}, "supervised_seeds": {"min": 0.088, "mean": 0.094, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-2.954, -2.954, -2.954], [-2.954, -2.954, -2.954]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.638, "peak_gpu_mib": 11543.0, "seconds": 74.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/dense-voxel", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=dense-voxel"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-voxel", "verdict": "runs", "judge": 2, "config_hash": "1406a705e4a02f5d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=dense-voxel -o stage__GraspNet-baseline__proposal__dense-voxel.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__GraspNet-baseline__proposal__dense-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [586, 129], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7605, 0.5691], "loss/view": [0.2054, 0.06803], "loss/score": [0.04761, 0.02863], "loss/angle": [0.4992, 0.4488], "loss/width": [0.5376, 0.2149], "loss/tolerance": [1.159, 0.434], "loss": [3.21, 1.763]}, "trend": {"loss/objectness": [0.7605, 0.5145, 0.324], "loss/view": [0.2054, 0.0744, 0.638], "loss/score": [0.04761, 0.0311, 0.347], "loss/angle": [0.4992, 0.4424, 0.114], "loss/width": [0.5376, 0.2406, 0.552], "loss/tolerance": [1.159, 0.4586, 0.604], "loss": [3.21, 1.762, 0.451]}, "real_seeds": {"min": 0.767, "mean": 0.859, "zero_iterations": 0}, "supervised_seeds": {"min": 0.356, "mean": 0.437, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-32.37, -0.01537, 12.8], [-17.92, -0.3465, 9.878]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.247, "peak_gpu_mib": 4173.1, "seconds": 12.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/dense-voxel", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=dense-voxel"], "slot": "proposal", "component": "SampledSeeds", "variant": "dense-voxel", "verdict": "runs-empty", "judge": 2, "config_hash": "bbc00270075ac6de", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=dense-voxel -o stage__Scale-Balanced-Grasp__proposal__dense-voxel.yaml", "adapter": "FeaturePropagation", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__dense-voxel.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709292, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6579, 0.3213], "loss/view": [0.2642, 0.1031], "loss/score": [0.05203, 0.02295], "loss/angle": [0.5185, 0.4347], "loss/width": [0.4617, 0.1462], "loss/tolerance": [0.9324, 0.3115], "loss": [2.887, 1.34]}, "trend": {"loss/objectness": [0.6579, 0.287, 0.564], "loss/view": [0.2642, 0.1245, 0.529], "loss/score": [0.05203, 0.02014, 0.613], "loss/angle": [0.5185, 0.4352, 0.161], "loss/width": [0.4617, 0.1634, 0.646], "loss/tolerance": [0.9324, 0.3191, 0.658], "loss": [2.887, 1.349, 0.533]}, "real_seeds": {"min": 0.767, "mean": 0.859, "zero_iterations": 0}, "supervised_seeds": {"min": 0.356, "mean": 0.437, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.365, "peak_gpu_mib": 9815.7, "seconds": 15.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-ffps", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-ffps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-ffps", "verdict": "runs", "judge": 2, "config_hash": "062dc2aa7d0cbb28", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-ffps -o stage__GSNet__proposal__graspness-ffps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [405, 550], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6354], "loss/graspness": [5.176, 0.3868], "loss/view": [6.565, 0.6468], "loss/score": [1.427, 0.0784], "loss/width": [3.828, 0.5429], "loss": [17.79, 2.29]}, "trend": {"loss/objectness": [0.7893, 0.6168, 0.219], "loss/graspness": [5.176, 0.3745, 0.928], "loss/view": [6.565, 0.4781, 0.927], "loss/score": [1.427, 0.08936, 0.937], "loss/width": [3.828, 0.2985, 0.922], "loss": [17.79, 1.857, 0.896]}, "real_seeds": {"min": 0.271, "mean": 0.87, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09921, 0.1644, 0.2628], [0.1203, 0.169, 0.3402]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.81, "peak_gpu_mib": 1841.5, "seconds": 42.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-ffps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-ffps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-ffps", "verdict": "runs", "judge": 2, "config_hash": "f341dbb73390c4b7", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-ffps -o stage__EconomicGrasp__proposal__graspness-ffps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.626], "loss/graspness": [5.216, 0.277], "loss/view": [6.806, 0.7538], "loss/angle": [3.301, 0.8651], "loss/depth": [2.219, 0.4858], "loss/score": [2.129, 0.7229], "loss/width": [9.146, 0.795], "loss": [29.6, 4.525]}, "trend": {"loss/objectness": [0.7845, 0.6257, 0.202], "loss/graspness": [5.216, 0.3302, 0.937], "loss/view": [6.806, 0.7346, 0.892], "loss/angle": [3.301, 0.8019, 0.757], "loss/depth": [2.219, 0.4495, 0.797], "loss/score": [2.129, 0.6745, 0.683], "loss/width": [9.146, 0.7081, 0.923], "loss": [29.6, 4.325, 0.854]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.088, "mean": 0.151, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.614, -3.316, -2.941], [-3.516, -3.296, -2.922]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.879, "peak_gpu_mib": 2066.2, "seconds": 74.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-ffps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-ffps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-ffps", "verdict": "runs", "judge": 2, "config_hash": "91fe1a68f35d2313", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-ffps -o stage__FineGrasp__proposal__graspness-ffps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5909], "loss/graspness": [2.473, 0.2655], "loss/view": [9.356, 0.7128], "loss/angle": [1.451, 0.9497], "loss/depth": [2.088, 0.527], "loss/score": [2.586, 0.7813], "loss/width": [5.577, 0.8212], "loss": [24.34, 4.648]}, "trend": {"loss/objectness": [0.8058, 0.6075, 0.246], "loss/graspness": [2.473, 0.2944, 0.881], "loss/view": [9.356, 0.7322, 0.922], "loss/angle": [1.451, 0.9314, 0.358], "loss/depth": [2.088, 0.5211, 0.75], "loss/score": [2.586, 0.7852, 0.696], "loss/width": [5.577, 0.8207, 0.853], "loss": [24.34, 4.693, 0.807]}, "real_seeds": {"min": 0.056, "mean": 0.936, "zero_iterations": 0}, "supervised_seeds": {"min": 0.02, "mean": 0.167, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.677, -1.677, -1.677], [-1.677, -1.677, -1.677]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 4.699, "peak_gpu_mib": 11643.5, "seconds": 135.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-ffps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-ffps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-ffps", "verdict": "runs", "judge": 2, "config_hash": "17613875a551a1af", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-ffps -o stage__GraspNet-baseline__proposal__graspness-ffps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-ffps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [647, 489], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.499], "loss/objectness": [0.6469, 0.6023], "loss/view": [0.1912, 0.09276], "loss/score": [0.08601, 0.03475], "loss/angle": [0.5019, 0.4631], "loss/width": [0.294, 0.2256], "loss/tolerance": [0.933, 0.4839], "loss": [4.654, 2.401]}, "trend": {"loss/graspness": [2.001, 0.4882, 0.756], "loss/objectness": [0.6469, 0.6238, 0.036], "loss/view": [0.1912, 0.09453, 0.506], "loss/score": [0.08601, 0.03019, 0.649], "loss/angle": [0.5019, 0.4602, 0.083], "loss/width": [0.294, 0.2325, 0.209], "loss/tolerance": [0.933, 0.5511, 0.409], "loss": [4.654, 2.481, 0.467]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.559, "mean": 0.963, "zero_iterations": 0}, "supervised_seeds": {"min": 0.3, "mean": 0.515, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-13.6, 0.2914, 17.53], [-21.22, 0.1647, 15.53]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.007, "peak_gpu_mib": 4171.7, "seconds": 29.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-ffps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-ffps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-ffps", "verdict": "runs-empty", "judge": 2, "config_hash": "b206483596839edc", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-ffps -o stage__Scale-Balanced-Grasp__proposal__graspness-ffps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-ffps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.2932], "loss/objectness": [0.832, 0.3822], "loss/view": [0.2802, 0.1267], "loss/score": [0.048, 0.0263], "loss/angle": [0.5174, 0.4345], "loss/width": [0.5727, 0.1516], "loss/tolerance": [0.9007, 0.3053], "loss": [4.04, 1.72]}, "trend": {"loss/graspness": [0.8894, 0.3928, 0.558], "loss/objectness": [0.832, 0.3354, 0.597], "loss/view": [0.2802, 0.1404, 0.499], "loss/score": [0.048, 0.02195, 0.543], "loss/angle": [0.5174, 0.4268, 0.175], "loss/width": [0.5727, 0.1711, 0.701], "loss/tolerance": [0.9007, 0.4349, 0.517], "loss": [4.04, 1.923, 0.524]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.458, "mean": 0.539, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.214, "peak_gpu_mib": 9816.0, "seconds": 32.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-fps-fill", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-fps-fill"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-fill", "verdict": "runs", "judge": 2, "config_hash": "11fbd5eb976ffca6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-fps-fill -o stage__GSNet__proposal__graspness-fps-fill.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-fps-fill.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6344], "loss/graspness": [5.176, 0.472], "loss/view": [6.291, 0.3108], "loss/score": [1.515, 0.06479], "loss/width": [3.654, 0.7954], "loss": [17.43, 2.277]}, "trend": {"loss/objectness": [0.7893, 0.6167, 0.219], "loss/graspness": [5.176, 0.3776, 0.927], "loss/view": [6.291, 0.377, 0.94], "loss/score": [1.515, 0.08019, 0.947], "loss/width": [3.654, 0.5207, 0.857], "loss": [17.43, 1.972, 0.887]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08827, 0.2489, 0.3574], [0.1106, 0.4649, 1.065]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.206, "peak_gpu_mib": 1841.5, "seconds": 30.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-fps-fill", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-fps-fill"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-fill", "verdict": "runs", "judge": 2, "config_hash": "fc38ded4e4e0e43a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fps-fill -o stage__EconomicGrasp__proposal__graspness-fps-fill.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-fps-fill.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6189], "loss/graspness": [5.216, 0.2754], "loss/view": [6.545, 0.6802], "loss/angle": [3.303, 0.7821], "loss/depth": [2.236, 0.4141], "loss/score": [2.117, 0.6238], "loss/width": [8.756, 0.7708], "loss": [28.96, 4.165]}, "trend": {"loss/objectness": [0.7845, 0.613, 0.219], "loss/graspness": [5.216, 0.3323, 0.936], "loss/view": [6.545, 0.7083, 0.892], "loss/angle": [3.303, 0.772, 0.766], "loss/depth": [2.236, 0.4408, 0.803], "loss/score": [2.117, 0.6532, 0.691], "loss/width": [8.756, 0.7019, 0.92], "loss": [28.96, 4.221, 0.854]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.457, -3.216, -2.954], [-3.511, -3.249, -3.007]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.176, "peak_gpu_mib": 2066.2, "seconds": 28.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-fps-fill", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-fps-fill"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-fill", "verdict": "runs", "judge": 2, "config_hash": "0f4147bb06febe35", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fps-fill -o stage__FineGrasp__proposal__graspness-fps-fill.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-fps-fill.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6197], "loss/graspness": [2.473, 0.2673], "loss/view": [5.497, 0.5993], "loss/angle": [1.429, 1.015], "loss/depth": [2.039, 0.5574], "loss/score": [2.563, 0.9172], "loss/width": [4.953, 0.8652], "loss": [19.76, 4.842]}, "trend": {"loss/objectness": [0.8058, 0.6277, 0.221], "loss/graspness": [2.473, 0.2819, 0.886], "loss/view": [5.497, 0.6138, 0.888], "loss/angle": [1.429, 1.066, 0.254], "loss/depth": [2.039, 0.5815, 0.715], "loss/score": [2.563, 0.9043, 0.647], "loss/width": [4.953, 0.8461, 0.829], "loss": [19.76, 4.922, 0.751]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.048, "mean": 0.121, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.36, -1.36, -1.36], [-1.36, -1.36, -1.36]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.65, "peak_gpu_mib": 11643.5, "seconds": 70.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-fps-fill", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-fps-fill"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-fill", "verdict": "runs", "judge": 2, "config_hash": "b5768de62ca4d33a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-fps-fill -o stage__GraspNet-baseline__proposal__graspness-fps-fill.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-fps-fill.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [285, 260], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.3676], "loss/objectness": [0.6827, 0.676], "loss/view": [0.2193, 0.09388], "loss/score": [0.1025, 0.02663], "loss/angle": [0.5083, 0.4543], "loss/width": [0.4677, 0.1929], "loss/tolerance": [0.8368, 0.461], "loss": [4.818, 2.272]}, "trend": {"loss/graspness": [2.001, 0.4127, 0.794], "loss/objectness": [0.6827, 0.6542, 0.042], "loss/view": [0.2193, 0.09446, 0.569], "loss/score": [0.1025, 0.0259, 0.747], "loss/angle": [0.5083, 0.4577, 0.1], "loss/width": [0.4677, 0.2319, 0.504], "loss/tolerance": [0.8368, 0.5382, 0.357], "loss": [4.818, 2.415, 0.499]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.479, "mean": 0.543, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-17.38, 0.5083, 15.26], [-15.95, 0.1248, 12.23]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.204, "peak_gpu_mib": 4171.7, "seconds": 12.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-fps-fill", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-fps-fill"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-fill", "verdict": "runs", "judge": 2, "config_hash": "3564aed705b10c1d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-fps-fill -o stage__Scale-Balanced-Grasp__proposal__graspness-fps-fill.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-fps-fill.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.3068], "loss/objectness": [0.8306, 0.3918], "loss/view": [0.2654, 0.1233], "loss/score": [0.05402, 0.02153], "loss/angle": [0.5112, 0.4429], "loss/width": [0.4636, 0.126], "loss/tolerance": [0.9903, 0.2602], "loss": [4.004, 1.672]}, "trend": {"loss/graspness": [0.8894, 0.3926, 0.559], "loss/objectness": [0.8306, 0.3742, 0.55], "loss/view": [0.2654, 0.1374, 0.482], "loss/score": [0.05402, 0.01906, 0.647], "loss/angle": [0.5112, 0.4289, 0.161], "loss/width": [0.4636, 0.1387, 0.701], "loss/tolerance": [0.9903, 0.3471, 0.649], "loss": [4.004, 1.838, 0.541]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.454, "mean": 0.518, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[2.834, 2.834, 2.834], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.338, "peak_gpu_mib": 9816.0, "seconds": 14.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-fps-topk", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-fps-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-topk", "verdict": "runs", "judge": 2, "config_hash": "5cc8793ce3210fef", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-fps-topk -o stage__GSNet__proposal__graspness-fps-topk.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-fps-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5857], "loss/graspness": [5.176, 0.4335], "loss/view": [6.655, 0.5647], "loss/score": [1.465, 0.1049], "loss/width": [4.005, 0.2884], "loss": [18.09, 1.977]}, "trend": {"loss/objectness": [0.7893, 0.5862, 0.257], "loss/graspness": [5.176, 0.4853, 0.906], "loss/view": [6.655, 0.4333, 0.935], "loss/score": [1.465, 0.1329, 0.909], "loss/width": [4.005, 0.2967, 0.926], "loss": [18.09, 1.934, 0.893]}, "real_seeds": {"min": 0.445, "mean": 0.907, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.0954, 0.1928, 0.3297], [0.1019, 0.221, 0.3533]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.377, "peak_gpu_mib": 1840.2, "seconds": 32.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-fps-topk", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-fps-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-topk", "verdict": "runs", "judge": 2, "config_hash": "edaf26cf9e107ef7", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fps-topk -o stage__EconomicGrasp__proposal__graspness-fps-topk.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-fps-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6257], "loss/graspness": [5.216, 0.2975], "loss/view": [7.141, 0.8845], "loss/angle": [3.276, 0.8735], "loss/depth": [2.244, 0.5327], "loss/score": [2.115, 0.7392], "loss/width": [8.527, 0.708], "loss": [29.3, 4.661]}, "trend": {"loss/objectness": [0.7845, 0.6341, 0.192], "loss/graspness": [5.216, 0.3699, 0.929], "loss/view": [7.141, 0.8179, 0.885], "loss/angle": [3.276, 0.8417, 0.743], "loss/depth": [2.244, 0.496, 0.779], "loss/score": [2.115, 0.7062, 0.666], "loss/width": [8.527, 0.7134, 0.916], "loss": [29.3, 4.579, 0.844]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.1, "mean": 0.16, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.342, -3.052, -2.689], [-3.318, -3.035, -2.728]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.882, "peak_gpu_mib": 2066.2, "seconds": 52.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-fps-topk", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-fps-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-topk", "verdict": "runs", "judge": 2, "config_hash": "45d66a31b4e839e8", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fps-topk -o stage__FineGrasp__proposal__graspness-fps-topk.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-fps-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6073], "loss/graspness": [2.473, 0.2947], "loss/view": [7.453, 0.738], "loss/angle": [1.441, 1.273], "loss/depth": [2.036, 0.7611], "loss/score": [2.592, 1.075], "loss/width": [4.812, 0.7846], "loss": [21.61, 5.535]}, "trend": {"loss/objectness": [0.8058, 0.6202, 0.23], "loss/graspness": [2.473, 0.2987, 0.879], "loss/view": [7.453, 0.7507, 0.899], "loss/angle": [1.441, 1.227, 0.148], "loss/depth": [2.036, 0.7255, 0.644], "loss/score": [2.592, 1.042, 0.598], "loss/width": [4.812, 0.8088, 0.832], "loss": [21.61, 5.473, 0.747]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.049, "mean": 0.928, "zero_iterations": 0}, "supervised_seeds": {"min": 0.013, "mean": 0.171, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.141, -1.14, -1.14], [-1.141, -1.14, -1.14]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.649, "peak_gpu_mib": 11643.5, "seconds": 90.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-fps-topk", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-fps-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-topk", "verdict": "runs", "judge": 2, "config_hash": "27548bff46ef122a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-fps-topk -o stage__GraspNet-baseline__proposal__graspness-fps-topk.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-fps-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [129, 3], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.3472], "loss/objectness": [0.6497, 0.5914], "loss/view": [0.1962, 0.1282], "loss/score": [0.07991, 0.02651], "loss/angle": [0.502, 0.4855], "loss/width": [0.3132, 0.2322], "loss/tolerance": [0.974, 0.6499], "loss": [4.716, 2.461]}, "trend": {"loss/graspness": [2.001, 0.4569, 0.772], "loss/objectness": [0.6497, 0.6635, -0.021], "loss/view": [0.1962, 0.1066, 0.457], "loss/score": [0.07991, 0.02645, 0.669], "loss/angle": [0.502, 0.4742, 0.055], "loss/width": [0.3132, 0.2656, 0.152], "loss/tolerance": [0.974, 0.7062, 0.275], "loss": [4.716, 2.7, 0.428]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.598, "mean": 0.965, "zero_iterations": 0}, "supervised_seeds": {"min": 0.279, "mean": 0.501, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-15.05, 0.6941, 20.68], [-11.68, -4.81, -0.1449]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.4, "peak_gpu_mib": 4173.5, "seconds": 20.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-fps-topk", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-fps-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fps-topk", "verdict": "runs", "judge": 2, "config_hash": "46213f72c68c1dae", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-fps-topk -o stage__Scale-Balanced-Grasp__proposal__graspness-fps-topk.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-fps-topk.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 46], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.403], "loss/objectness": [0.8453, 0.3936], "loss/view": [0.2723, 0.1452], "loss/score": [0.03353, 0.01657], "loss/angle": [0.5059, 0.4475], "loss/width": [0.6173, 0.2586], "loss/tolerance": [0.7854, 0.7014], "loss": [3.949, 2.366]}, "trend": {"loss/graspness": [0.8894, 0.4375, 0.508], "loss/objectness": [0.8453, 0.5257, 0.378], "loss/view": [0.2723, 0.1677, 0.384], "loss/score": [0.03353, 0.02359, 0.296], "loss/angle": [0.5059, 0.4477, 0.115], "loss/width": [0.6173, 0.2342, 0.621], "loss/tolerance": [0.7854, 0.5903, 0.248], "loss": [3.949, 2.427, 0.386]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.247, "mean": 0.529, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, [-4.648, -1.932, 5.046]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.52, "peak_gpu_mib": 9816.9, "seconds": 20.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-fps", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-fps"], "slot": "proposal", "component": "GraspnessFPS", "variant": "graspness-fps", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-fps -o stage__GSNet__proposal__graspness-fps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [265, 336], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6076], "loss/graspness": [5.176, 0.4365], "loss/view": [6.291, 0.1987], "loss/score": [1.515, 0.07731], "loss/width": [3.654, 0.3084], "loss": [17.43, 1.629]}, "trend": {"loss/objectness": [0.7893, 0.6149, 0.221], "loss/graspness": [5.176, 0.3732, 0.928], "loss/view": [6.291, 0.3279, 0.948], "loss/score": [1.515, 0.08931, 0.941], "loss/width": [3.654, 0.2636, 0.928], "loss": [17.43, 1.669, 0.904]}, "real_seeds": {"min": 0.484, "mean": 0.931, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09822, 0.2009, 0.2568], [0.0904, 0.1878, 0.2623]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.149, "peak_gpu_mib": 1841.5, "seconds": 32.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-fps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-fps"], "slot": "proposal", "component": "GraspnessFPS", "variant": "graspness-fps", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fps -o stage__EconomicGrasp__proposal__graspness-fps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6202], "loss/graspness": [5.216, 0.2745], "loss/view": [6.545, 0.6825], "loss/angle": [3.303, 0.6974], "loss/depth": [2.236, 0.3702], "loss/score": [2.117, 0.6131], "loss/width": [8.756, 0.722], "loss": [28.96, 3.98]}, "trend": {"loss/objectness": [0.7845, 0.6143, 0.217], "loss/graspness": [5.216, 0.3296, 0.937], "loss/view": [6.545, 0.7038, 0.892], "loss/angle": [3.303, 0.7344, 0.778], "loss/depth": [2.236, 0.4155, 0.814], "loss/score": [2.117, 0.6403, 0.697], "loss/width": [8.756, 0.7066, 0.919], "loss": [28.96, 4.144, 0.857]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.134, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.463, -3.208, -2.82], [-3.556, -3.238, -2.956]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.167, "peak_gpu_mib": 2066.2, "seconds": 32.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-fps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-fps"], "slot": "proposal", "component": "GraspnessFPS", "variant": "graspness-fps", "verdict": "runs", "judge": 2, "config_hash": "254815dc944eef7c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fps -o stage__FineGrasp__proposal__graspness-fps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6158], "loss/graspness": [2.473, 0.2623], "loss/view": [5.497, 0.618], "loss/angle": [1.429, 1.009], "loss/depth": [2.039, 0.4926], "loss/score": [2.563, 0.8456], "loss/width": [4.953, 0.7658], "loss": [19.76, 4.609]}, "trend": {"loss/objectness": [0.8058, 0.624, 0.226], "loss/graspness": [2.473, 0.2724, 0.89], "loss/view": [5.497, 0.6075, 0.889], "loss/angle": [1.429, 1.004, 0.297], "loss/depth": [2.039, 0.5336, 0.738], "loss/score": [2.563, 0.8465, 0.67], "loss/width": [4.953, 0.8449, 0.829], "loss": [19.76, 4.733, 0.76]}, "real_seeds": {"min": 0.573, "mean": 0.953, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.683, -1.683, -1.683], [-1.683, -1.683, -1.683]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.625, "peak_gpu_mib": 11643.5, "seconds": 68.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-fps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-fps"], "slot": "proposal", "component": "GraspnessFPS", "variant": "graspness-fps", "verdict": "runs", "judge": 2, "config_hash": "94a085c2dca6d662", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-fps -o stage__GraspNet-baseline__proposal__graspness-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [432, 347], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4849], "loss/objectness": [0.6483, 0.5785], "loss/view": [0.1917, 0.09928], "loss/score": [0.08333, 0.02346], "loss/angle": [0.4967, 0.4494], "loss/width": [0.2999, 0.1823], "loss/tolerance": [0.9424, 0.4619], "loss": [4.663, 2.28]}, "trend": {"loss/graspness": [2.001, 0.4523, 0.774], "loss/objectness": [0.6483, 0.6305, 0.027], "loss/view": [0.1917, 0.09966, 0.48], "loss/score": [0.08333, 0.02361, 0.717], "loss/angle": [0.4967, 0.4495, 0.095], "loss/width": [0.2999, 0.2062, 0.312], "loss/tolerance": [0.9424, 0.4951, 0.475], "loss": [4.663, 2.357, 0.495]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.569, "mean": 0.963, "zero_iterations": 0}, "supervised_seeds": {"min": 0.328, "mean": 0.533, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-11.25, 0.2533, 17.5], [-9.352, 0.5858, 23.56]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.265, "peak_gpu_mib": 4171.7, "seconds": 13.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-fps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-fps"], "slot": "proposal", "component": "GraspnessFPS", "variant": "graspness-fps", "verdict": "runs-empty", "judge": 2, "config_hash": "46035f8204fb1958", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-fps -o stage__Scale-Balanced-Grasp__proposal__graspness-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-fps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.3302], "loss/objectness": [0.8306, 0.4226], "loss/view": [0.2654, 0.1223], "loss/score": [0.05402, 0.02194], "loss/angle": [0.5112, 0.4056], "loss/width": [0.4636, 0.1227], "loss/tolerance": [0.9903, 0.3203], "loss": [4.004, 1.746]}, "trend": {"loss/graspness": [0.8894, 0.4154, 0.533], "loss/objectness": [0.8306, 0.4361, 0.475], "loss/view": [0.2654, 0.1431, 0.461], "loss/score": [0.05402, 0.02072, 0.616], "loss/angle": [0.5112, 0.4177, 0.183], "loss/width": [0.4636, 0.1501, 0.676], "loss/tolerance": [0.9903, 0.3355, 0.661], "loss": [4.004, 1.918, 0.521]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.445, "mean": 0.521, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.34, "peak_gpu_mib": 9816.0, "seconds": 14.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-fpsample", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-fpsample"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fpsample", "verdict": "runs", "judge": 2, "config_hash": "9bf4dd0057d3df6b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-fpsample -o stage__GSNet__proposal__graspness-fpsample.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [660, 707], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6198], "loss/graspness": [5.176, 0.3844], "loss/view": [6.271, 0.7107], "loss/score": [1.539, 0.09508], "loss/width": [4.01, 0.1711], "loss": [17.79, 1.981]}, "trend": {"loss/objectness": [0.7893, 0.6192, 0.216], "loss/graspness": [5.176, 0.3308, 0.936], "loss/view": [6.271, 0.4394, 0.93], "loss/score": [1.539, 0.09965, 0.935], "loss/width": [4.01, 0.2165, 0.946], "loss": [17.79, 1.705, 0.904]}, "real_seeds": {"min": 0.502, "mean": 0.947, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1003, 0.1509, 0.2541], [0.1061, 0.1672, 0.258]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.153, "peak_gpu_mib": 1841.5, "seconds": 26.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-fpsample", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-fpsample"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fpsample", "verdict": "runs", "judge": 2, "config_hash": "25e4db2526d95ea7", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fpsample -o stage__EconomicGrasp__proposal__graspness-fpsample.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6058], "loss/graspness": [5.216, 0.268], "loss/view": [6.554, 0.6772], "loss/angle": [3.293, 0.6821], "loss/depth": [2.24, 0.3816], "loss/score": [2.12, 0.6182], "loss/width": [8.898, 0.7183], "loss": [29.11, 3.951]}, "trend": {"loss/objectness": [0.7845, 0.6031, 0.231], "loss/graspness": [5.216, 0.321, 0.938], "loss/view": [6.554, 0.7048, 0.892], "loss/angle": [3.293, 0.7091, 0.785], "loss/depth": [2.24, 0.4086, 0.818], "loss/score": [2.12, 0.6165, 0.709], "loss/width": [8.898, 0.6995, 0.921], "loss": [29.11, 4.063, 0.86]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.479, -3.186, -2.963], [-3.468, -3.182, -2.495]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.838, "peak_gpu_mib": 2066.2, "seconds": 35.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-fpsample", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-fpsample"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fpsample", "verdict": "runs", "judge": 2, "config_hash": "aeef5c791bfd3673", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fpsample -o stage__FineGrasp__proposal__graspness-fpsample.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6151], "loss/graspness": [2.473, 0.2529], "loss/view": [5.482, 0.6069], "loss/angle": [1.451, 0.9231], "loss/depth": [2.027, 0.4938], "loss/score": [2.515, 0.8112], "loss/width": [5.037, 0.7786], "loss": [19.79, 4.482]}, "trend": {"loss/objectness": [0.8058, 0.6287, 0.22], "loss/graspness": [2.473, 0.2614, 0.894], "loss/view": [5.482, 0.6159, 0.888], "loss/angle": [1.451, 0.9192, 0.366], "loss/depth": [2.027, 0.4658, 0.77], "loss/score": [2.515, 0.7791, 0.69], "loss/width": [5.037, 0.7974, 0.842], "loss": [19.79, 4.467, 0.774]}, "real_seeds": {"min": 0.714, "mean": 0.975, "zero_iterations": 0}, "supervised_seeds": {"min": 0.026, "mean": 0.119, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.742, -1.742, -1.742], [-1.742, -1.742, -1.742]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.657, "peak_gpu_mib": 11643.5, "seconds": 70.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-fpsample", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-fpsample"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fpsample", "verdict": "runs", "judge": 2, "config_hash": "5fbde74e0e9f23e1", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-fpsample -o stage__GraspNet-baseline__proposal__graspness-fpsample.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-fpsample.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [344, 274], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4899], "loss/objectness": [0.666, 0.6355], "loss/view": [0.1911, 0.1016], "loss/score": [0.0907, 0.03116], "loss/angle": [0.5177, 0.4433], "loss/width": [0.4197, 0.212], "loss/tolerance": [1.337, 0.5439], "loss": [5.223, 2.457]}, "trend": {"loss/graspness": [2.001, 0.4336, 0.783], "loss/objectness": [0.666, 0.5968, 0.104], "loss/view": [0.1911, 0.09713, 0.492], "loss/score": [0.0907, 0.03182, 0.649], "loss/angle": [0.5177, 0.4318, 0.166], "loss/width": [0.4197, 0.2189, 0.478], "loss/tolerance": [1.337, 0.5003, 0.626], "loss": [5.223, 2.31, 0.558]}, "real_seeds": {"min": 0.58, "mean": 0.964, "zero_iterations": 0}, "supervised_seeds": {"min": 0.458, "mean": 0.547, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-14.55, -0.946, 15.12], [-10.56, -0.4501, 10.83]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.258, "peak_gpu_mib": 4171.7, "seconds": 13.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-fpsample", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-fpsample"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fpsample", "verdict": "runs", "judge": 2, "config_hash": "c3f9dab34ce3ad8e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-fpsample -o stage__Scale-Balanced-Grasp__proposal__graspness-fpsample.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-fpsample.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [5, 61], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.5049], "loss/objectness": [0.8291, 0.4846], "loss/view": [0.2682, 0.1301], "loss/score": [0.04932, 0.02311], "loss/angle": [0.5072, 0.4522], "loss/width": [0.4906, 0.1472], "loss/tolerance": [0.9626, 0.4053], "loss": [3.996, 2.147]}, "trend": {"loss/graspness": [0.8894, 0.3974, 0.553], "loss/objectness": [0.8291, 0.3838, 0.537], "loss/view": [0.2682, 0.1383, 0.484], "loss/score": [0.04932, 0.0222, 0.55], "loss/angle": [0.5072, 0.4451, 0.122], "loss/width": [0.4906, 0.156, 0.682], "loss/tolerance": [0.9626, 0.3948, 0.59], "loss": [3.996, 1.938, 0.515]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.434, "mean": 0.513, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.4621, 0.907, 3.289], [-3.394, -0.07962, 7.008]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.33, "peak_gpu_mib": 9816.0, "seconds": 14.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-fusion-fps", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-fusion-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "019cc4a623947bfa", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-fusion-fps -o stage__GSNet__proposal__graspness-fusion-fps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [684, 748], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5926], "loss/graspness": [5.176, 0.3731], "loss/view": [6.816, 0.5568], "loss/score": [1.426, 0.1119], "loss/width": [3.778, 0.2592], "loss": [17.99, 1.894]}, "trend": {"loss/objectness": [0.7893, 0.608, 0.23], "loss/graspness": [5.176, 0.3807, 0.926], "loss/view": [6.816, 0.4773, 0.93], "loss/score": [1.426, 0.09823, 0.931], "loss/width": [3.778, 0.3334, 0.912], "loss": [17.99, 1.898, 0.894]}, "real_seeds": {"min": 0.243, "mean": 0.865, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08297, 0.1385, 0.2619], [0.08722, 0.1388, 0.2935]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.567, "peak_gpu_mib": 1840.7, "seconds": 56.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-fusion-fps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-fusion-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "1866d59c439712e1", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fusion-fps -o stage__EconomicGrasp__proposal__graspness-fusion-fps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.619], "loss/graspness": [5.216, 0.2729], "loss/view": [7.307, 0.6949], "loss/angle": [3.297, 0.6898], "loss/depth": [2.223, 0.3634], "loss/score": [2.15, 0.6099], "loss/width": [8.942, 0.7711], "loss": [29.92, 4.021]}, "trend": {"loss/objectness": [0.7845, 0.6247, 0.204], "loss/graspness": [5.216, 0.3315, 0.936], "loss/view": [7.307, 0.6928, 0.905], "loss/angle": [3.297, 0.6786, 0.794], "loss/depth": [2.223, 0.37, 0.834], "loss/score": [2.15, 0.5954, 0.723], "loss/width": [8.942, 0.7089, 0.921], "loss": [29.92, 4.002, 0.866]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.087, "mean": 0.132, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.366, -3.063, -2.603], [-3.376, -3.088, -2.63]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.513, "peak_gpu_mib": 2066.2, "seconds": 50.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-fusion-fps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-fusion-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "f7586df04f786fee", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-fusion-fps -o stage__FineGrasp__proposal__graspness-fusion-fps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5845], "loss/graspness": [2.473, 0.2615], "loss/view": [8.388, 0.6627], "loss/angle": [1.44, 1.148], "loss/depth": [2.058, 0.6004], "loss/score": [2.584, 0.9295], "loss/width": [4.964, 0.8155], "loss": [22.71, 5.002]}, "trend": {"loss/objectness": [0.8058, 0.6058, 0.248], "loss/graspness": [2.473, 0.2893, 0.883], "loss/view": [8.388, 0.6652, 0.921], "loss/angle": [1.44, 1.035, 0.281], "loss/depth": [2.058, 0.5572, 0.729], "loss/score": [2.584, 0.8648, 0.665], "loss/width": [4.964, 0.7775, 0.843], "loss": [22.71, 4.795, 0.789]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.085, "mean": 0.918, "zero_iterations": 0}, "supervised_seeds": {"min": 0.012, "mean": 0.133, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.718, -1.717, -1.717], [-1.718, -1.717, -1.717]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 3.811, "peak_gpu_mib": 11643.5, "seconds": 124.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-fusion-fps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-fusion-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "6b6f692b205b03ec", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-fusion-fps -o stage__GraspNet-baseline__proposal__graspness-fusion-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-fusion-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [443, 310], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4416], "loss/objectness": [0.6485, 0.5829], "loss/view": [0.1898, 0.09357], "loss/score": [0.08878, 0.02764], "loss/angle": [0.4998, 0.4125], "loss/width": [0.3053, 0.1539], "loss/tolerance": [0.884, 0.526], "loss": [4.617, 2.238]}, "trend": {"loss/graspness": [2.001, 0.4571, 0.772], "loss/objectness": [0.6485, 0.6202, 0.043], "loss/view": [0.1898, 0.09303, 0.51], "loss/score": [0.08878, 0.02243, 0.747], "loss/angle": [0.4998, 0.4352, 0.129], "loss/width": [0.3053, 0.2314, 0.242], "loss/tolerance": [0.884, 0.5294, 0.401], "loss": [4.617, 2.389, 0.483]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.553, "mean": 0.963, "zero_iterations": 0}, "supervised_seeds": {"min": 0.299, "mean": 0.521, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-13.5, -0.4795, 10.23], [-17.42, -0.4885, 8.255]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.305, "peak_gpu_mib": 4171.7, "seconds": 34.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-fusion-fps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-fusion-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-fusion-fps", "verdict": "runs", "judge": 2, "config_hash": "057f583ba63eb677", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-fusion-fps -o stage__Scale-Balanced-Grasp__proposal__graspness-fusion-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-fusion-fps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [101, 64], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.3639], "loss/objectness": [0.8322, 0.3559], "loss/view": [0.2714, 0.1199], "loss/score": [0.05207, 0.02505], "loss/angle": [0.5015, 0.4539], "loss/width": [0.4693, 0.1184], "loss/tolerance": [1.131, 0.2853], "loss": [4.147, 1.722]}, "trend": {"loss/graspness": [0.8894, 0.4238, 0.524], "loss/objectness": [0.8322, 0.3523, 0.577], "loss/view": [0.2714, 0.1339, 0.507], "loss/score": [0.05207, 0.02333, 0.552], "loss/angle": [0.5015, 0.451, 0.101], "loss/width": [0.4693, 0.1673, 0.644], "loss/tolerance": [1.131, 0.3906, 0.655], "loss": [4.147, 1.942, 0.532]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.454, "mean": 0.521, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-3.375, 1.613, 15.54], [-11.35, -0.1606, 7.304]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.365, "peak_gpu_mib": 9816.0, "seconds": 36.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-nms", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-nms"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-nms", "verdict": "runs", "judge": 2, "config_hash": "bd497f31185d18c9", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-nms -o stage__GSNet__proposal__graspness-nms.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6425], "loss/graspness": [5.176, 0.5794], "loss/view": [8.953, 0.3586], "loss/score": [1.524, 0.08399], "loss/width": [3.794, 0.3639], "loss": [20.24, 2.028]}, "trend": {"loss/objectness": [0.7893, 0.6575, 0.167], "loss/graspness": [5.176, 0.5566, 0.892], "loss/view": [8.953, 0.5609, 0.937], "loss/score": [1.524, 0.1084, 0.929], "loss/width": [3.794, 0.3126, 0.918], "loss": [20.24, 2.196, 0.891]}, "real_seeds": {"min": 0.214, "mean": 0.674, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1161, 0.2065, 0.3411], [0.1297, 0.2185, 0.4145]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.279, "peak_gpu_mib": 1841.0, "seconds": 61.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-nms", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-nms"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-nms", "verdict": "runs", "judge": 2, "config_hash": "595aa9ecac60f1eb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-nms -o stage__EconomicGrasp__proposal__graspness-nms.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [863, 763], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6618], "loss/graspness": [5.216, 0.3426], "loss/view": [11.27, 0.6803], "loss/angle": [3.312, 0.8308], "loss/depth": [2.319, 0.486], "loss/score": [2.158, 0.6977], "loss/width": [7.887, 0.7096], "loss": [32.95, 4.409]}, "trend": {"loss/objectness": [0.7845, 0.6748, 0.14], "loss/graspness": [5.216, 0.4286, 0.918], "loss/view": [11.27, 0.6968, 0.938], "loss/angle": [3.312, 0.6976, 0.789], "loss/depth": [2.319, 0.4198, 0.819], "loss/score": [2.158, 0.6115, 0.717], "loss/width": [7.887, 0.7111, 0.91], "loss": [32.95, 4.24, 0.871]}, "real_seeds": {"min": 0.356, "mean": 0.777, "zero_iterations": 0}, "supervised_seeds": {"min": 0.062, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.282, -2.981, -2.72], [-3.236, -2.984, -2.619]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.157, "peak_gpu_mib": 2066.2, "seconds": 71.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-nms", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-nms"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-nms", "verdict": "runs", "judge": 2, "config_hash": "5f003189ea484580", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-nms -o stage__FineGrasp__proposal__graspness-nms.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.655], "loss/graspness": [2.473, 0.4142], "loss/view": [6.291, 0.6362], "loss/angle": [1.405, 0.9083], "loss/depth": [2.085, 0.4553], "loss/score": [2.532, 0.8043], "loss/width": [4.648, 0.768], "loss": [20.24, 4.641]}, "trend": {"loss/objectness": [0.8058, 0.6577, 0.184], "loss/graspness": [2.473, 0.4867, 0.803], "loss/view": [6.291, 0.7516, 0.881], "loss/angle": [1.405, 0.9671, 0.311], "loss/depth": [2.085, 0.566, 0.729], "loss/score": [2.532, 0.8132, 0.679], "loss/width": [4.648, 0.7792, 0.832], "loss": [20.24, 5.021, 0.752]}, "real_seeds": {"min": 0.043, "mean": 0.776, "zero_iterations": 0}, "supervised_seeds": {"min": 0.097, "mean": 0.168, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.24, -1.24, -1.24], [-1.24, -1.24, -1.24]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 4.21, "peak_gpu_mib": 11643.5, "seconds": 136.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-nms", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-nms"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-nms", "verdict": "runs", "judge": 2, "config_hash": "b7a76007b8874e7b", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-nms -o stage__GraspNet-baseline__proposal__graspness-nms.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [323, 298], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4717], "loss/objectness": [0.727, 0.8998], "loss/view": [0.1966, 0.1557], "loss/score": [0.03244, 0.01505], "loss/angle": [0.4296, 0.4208], "loss/width": [2.822e-05, 0.1836], "loss/tolerance": [1.327, 0.623], "loss": [4.714, 2.77]}, "trend": {"loss/graspness": [2.001, 0.4919, 0.754], "loss/objectness": [0.727, 0.7464, -0.027], "loss/view": [0.1966, 0.1347, 0.315], "loss/score": [0.03244, 0.02879, 0.113], "loss/angle": [0.4296, 0.4447, -0.035], "loss/width": [2.822e-05, 0.2263, -8018.658], "loss/tolerance": [1.327, 0.6007, 0.547], "loss": [4.714, 2.673, 0.433]}, "flags": {"loss/objectness": ["flat"], "loss/angle": ["flat"]}, "real_seeds": {"min": 0.103, "mean": 0.748, "zero_iterations": 0}, "supervised_seeds": {"min": 0.073, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-22.86, -1.416, 23.89], [-16.53, -0.6054, 13.36]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.73, "peak_gpu_mib": 4173.5, "seconds": 39.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-nms", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-nms"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-nms", "verdict": "runs", "judge": 2, "config_hash": "0c39d0faccc15ce6", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-nms -o stage__Scale-Balanced-Grasp__proposal__graspness-nms.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-nms.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 8], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.4927], "loss/objectness": [0.8249, 0.389], "loss/view": [0.2764, 0.1324], "loss/score": [0.04643, 0.02828], "loss/angle": [0.5033, 0.4587], "loss/width": [0.49, 0.1981], "loss/tolerance": [0.9837, 0.4076], "loss": [4.014, 2.107]}, "trend": {"loss/graspness": [0.8894, 0.4721, 0.469], "loss/objectness": [0.8249, 0.4259, 0.484], "loss/view": [0.2764, 0.1526, 0.448], "loss/score": [0.04643, 0.02395, 0.484], "loss/angle": [0.5033, 0.4456, 0.115], "loss/width": [0.49, 0.1901, 0.612], "loss/tolerance": [0.9837, 0.5137, 0.478], "loss": [4.014, 2.224, 0.446]}, "real_seeds": {"min": 0.637, "mean": 0.785, "zero_iterations": 0}, "supervised_seeds": {"min": 0.339, "mean": 0.489, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, [-1.299, 1.666, 6.447]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.577, "peak_gpu_mib": 9816.0, "seconds": 37.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-random", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-random"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-random", "verdict": "runs", "judge": 2, "config_hash": "3e55b771dd55f41a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-random -o stage__GSNet__proposal__graspness-random.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 835], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5904], "loss/graspness": [5.176, 0.3024], "loss/view": [6.373, 0.4506], "loss/score": [1.341, 0.09359], "loss/width": [3.681, 0.2095], "loss": [17.36, 1.646]}, "trend": {"loss/objectness": [0.7893, 0.6225, 0.211], "loss/graspness": [5.176, 0.3303, 0.936], "loss/view": [6.373, 0.3984, 0.937], "loss/score": [1.341, 0.0943, 0.93], "loss/width": [3.681, 0.2488, 0.932], "loss": [17.36, 1.694, 0.902]}, "real_seeds": {"min": 0.452, "mean": 0.936, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1093, 0.1657, 0.2521], [0.09393, 0.1742, 0.2968]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.14, "peak_gpu_mib": 1841.0, "seconds": 25.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-random", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-random"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-random", "verdict": "runs", "judge": 2, "config_hash": "03e51cbd65b7a786", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-random -o stage__EconomicGrasp__proposal__graspness-random.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6443], "loss/graspness": [5.216, 0.3087], "loss/view": [6.803, 0.7466], "loss/angle": [3.298, 0.8779], "loss/depth": [2.172, 0.4615], "loss/score": [2.095, 0.7289], "loss/width": [8.895, 0.7452], "loss": [29.26, 4.513]}, "trend": {"loss/objectness": [0.7845, 0.6353, 0.19], "loss/graspness": [5.216, 0.3288, 0.937], "loss/view": [6.803, 0.7882, 0.884], "loss/angle": [3.298, 0.7969, 0.758], "loss/depth": [2.172, 0.4435, 0.796], "loss/score": [2.095, 0.6839, 0.674], "loss/width": [8.895, 0.7201, 0.919], "loss": [29.26, 4.397, 0.85]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.1, "mean": 0.163, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.193, -2.955, -2.678], [-3.322, -3.03, -2.614]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.793, "peak_gpu_mib": 2066.2, "seconds": 34.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-random", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-random"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-random", "verdict": "runs", "judge": 2, "config_hash": "032be53ccce9e0b9", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-random -o stage__FineGrasp__proposal__graspness-random.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6396], "loss/graspness": [2.473, 0.2604], "loss/view": [6.016, 0.6677], "loss/angle": [1.425, 1.043], "loss/depth": [2.035, 0.5511], "loss/score": [2.57, 0.8999], "loss/width": [4.769, 0.7941], "loss": [20.09, 4.855]}, "trend": {"loss/objectness": [0.8058, 0.6418, 0.204], "loss/graspness": [2.473, 0.2698, 0.891], "loss/view": [6.016, 0.6748, 0.888], "loss/angle": [1.425, 1.088, 0.236], "loss/depth": [2.035, 0.5968, 0.707], "loss/score": [2.57, 0.9209, 0.642], "loss/width": [4.769, 0.855, 0.821], "loss": [20.09, 5.047, 0.749]}, "real_seeds": {"min": 0.782, "mean": 0.979, "zero_iterations": 0}, "supervised_seeds": {"min": 0.013, "mean": 0.15, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.561, -1.561, -1.561], [-1.561, -1.561, -1.561]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.616, "peak_gpu_mib": 11643.5, "seconds": 68.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-random", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-random"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-random", "verdict": "runs", "judge": 2, "config_hash": "b666ea68baf547be", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-random -o stage__GraspNet-baseline__proposal__graspness-random.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-random.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [412, 591], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.5331], "loss/objectness": [0.6932, 0.6229], "loss/view": [0.1965, 0.1023], "loss/score": [0.06963, 0.03385], "loss/angle": [0.5299, 0.4263], "loss/width": [0.5062, 0.2074], "loss/tolerance": [1.051, 0.4698], "loss": [5.047, 2.396]}, "trend": {"loss/graspness": [2.001, 0.5137, 0.743], "loss/objectness": [0.6932, 0.6534, 0.057], "loss/view": [0.1965, 0.09725, 0.505], "loss/score": [0.06963, 0.02729, 0.608], "loss/angle": [0.5299, 0.4446, 0.161], "loss/width": [0.5062, 0.2072, 0.591], "loss/tolerance": [1.051, 0.4815, 0.542], "loss": [5.047, 2.425, 0.52]}, "real_seeds": {"min": 0.698, "mean": 0.975, "zero_iterations": 0}, "supervised_seeds": {"min": 0.454, "mean": 0.546, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-18.18, -1.456, 14.22], [-20.29, -0.9907, 19.61]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.221, "peak_gpu_mib": 4173.5, "seconds": 12.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-random", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-random"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-random", "verdict": "runs", "judge": 2, "config_hash": "a42ac1da312bb7b9", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-random -o stage__Scale-Balanced-Grasp__proposal__graspness-random.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-random.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [2, 41], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.3611], "loss/objectness": [0.8321, 0.4718], "loss/view": [0.2697, 0.1322], "loss/score": [0.04776, 0.02461], "loss/angle": [0.4983, 0.4404], "loss/width": [0.5471, 0.1424], "loss/tolerance": [1.121, 0.265], "loss": [4.206, 1.837]}, "trend": {"loss/graspness": [0.8894, 0.4296, 0.517], "loss/objectness": [0.8321, 0.4541, 0.454], "loss/view": [0.2697, 0.1456, 0.46], "loss/score": [0.04776, 0.02303, 0.518], "loss/angle": [0.4983, 0.4378, 0.121], "loss/width": [0.5471, 0.1547, 0.717], "loss/tolerance": [1.121, 0.3255, 0.71], "loss": [4.206, 1.97, 0.532]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.439, "mean": 0.551, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[5.874, 7.37, 8.866], [-1.291, 1.413, 8.812]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.432, "peak_gpu_mib": 9816.5, "seconds": 17.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-sfps", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-sfps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-sfps", "verdict": "runs", "judge": 2, "config_hash": "1a8cdb6139be8f91", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-sfps -o stage__GSNet__proposal__graspness-sfps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-sfps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [717, 636], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.579], "loss/graspness": [5.176, 0.3571], "loss/view": [6.463, 0.4765], "loss/score": [1.483, 0.09266], "loss/width": [3.919, 0.2263], "loss": [17.83, 1.732]}, "trend": {"loss/objectness": [0.7893, 0.588, 0.255], "loss/graspness": [5.176, 0.3652, 0.929], "loss/view": [6.463, 0.3498, 0.946], "loss/score": [1.483, 0.08693, 0.941], "loss/width": [3.919, 0.2246, 0.943], "loss": [17.83, 1.615, 0.909]}, "real_seeds": {"min": 0.269, "mean": 0.887, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07506, 0.1289, 0.2162], [0.07069, 0.1348, 0.3344]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.484, "peak_gpu_mib": 1841.5, "seconds": 54.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-sfps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-sfps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-sfps", "verdict": "runs", "judge": 2, "config_hash": "21f3efffd5d72433", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-sfps -o stage__EconomicGrasp__proposal__graspness-sfps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-sfps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6278], "loss/graspness": [5.216, 0.2984], "loss/view": [6.761, 0.7191], "loss/angle": [3.291, 0.8469], "loss/depth": [2.246, 0.4481], "loss/score": [2.121, 0.7376], "loss/width": [8.75, 0.8396], "loss": [29.17, 4.517]}, "trend": {"loss/objectness": [0.7845, 0.6332, 0.193], "loss/graspness": [5.216, 0.3393, 0.935], "loss/view": [6.761, 0.7159, 0.894], "loss/angle": [3.291, 0.769, 0.766], "loss/depth": [2.246, 0.4159, 0.815], "loss/score": [2.121, 0.658, 0.69], "loss/width": [8.75, 0.7082, 0.919], "loss": [29.17, 4.24, 0.855]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.462, -3.143, -2.886], [-3.52, -3.181, -2.813]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.498, "peak_gpu_mib": 2066.2, "seconds": 48.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-sfps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-sfps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-sfps", "verdict": "runs", "judge": 2, "config_hash": "3adaf902b16f4edb", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-sfps -o stage__FineGrasp__proposal__graspness-sfps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-sfps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5999], "loss/graspness": [2.473, 0.2563], "loss/view": [6.161, 0.6398], "loss/angle": [1.445, 1.013], "loss/depth": [2.048, 0.5412], "loss/score": [2.535, 0.8437], "loss/width": [4.87, 0.8177], "loss": [20.34, 4.711]}, "trend": {"loss/objectness": [0.8058, 0.6184, 0.233], "loss/graspness": [2.473, 0.2681, 0.892], "loss/view": [6.161, 0.6305, 0.898], "loss/angle": [1.445, 0.9558, 0.338], "loss/depth": [2.048, 0.5106, 0.751], "loss/score": [2.535, 0.8003, 0.684], "loss/width": [4.87, 0.8136, 0.833], "loss": [20.34, 4.597, 0.774]}, "real_seeds": {"min": 0.725, "mean": 0.983, "zero_iterations": 0}, "supervised_seeds": {"min": 0.016, "mean": 0.121, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.613, -1.613, -1.613], [-1.613, -1.613, -1.613]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 3.628, "peak_gpu_mib": 11643.5, "seconds": 145.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-sfps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-sfps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-sfps", "verdict": "runs", "judge": 2, "config_hash": "4a68b6a1636a3767", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-sfps -o stage__GraspNet-baseline__proposal__graspness-sfps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-sfps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [178, 125], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4507], "loss/objectness": [0.7439, 0.6167], "loss/view": [0.2939, 0.09063], "loss/score": [0.04637, 0.03548], "loss/angle": [0.4979, 0.4448], "loss/width": [0.6455, 0.1844], "loss/tolerance": [0.9617, 0.5392], "loss": [5.19, 2.362]}, "trend": {"loss/graspness": [2.001, 0.5202, 0.74], "loss/objectness": [0.7439, 0.6771, 0.09], "loss/view": [0.2939, 0.09512, 0.676], "loss/score": [0.04637, 0.02835, 0.389], "loss/angle": [0.4979, 0.4512, 0.094], "loss/width": [0.6455, 0.23, 0.644], "loss/tolerance": [0.9617, 0.5393, 0.439], "loss": [5.19, 2.541, 0.51]}, "real_seeds": {"min": 0.698, "mean": 0.976, "zero_iterations": 0}, "supervised_seeds": {"min": 0.404, "mean": 0.522, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-12.11, -0.3343, 20.59], [-16.91, -1.686, 9.274]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.35, "peak_gpu_mib": 4171.7, "seconds": 33.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-sfps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-sfps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-sfps", "verdict": "runs-empty", "judge": 2, "config_hash": "2c3e0daee37c28ec", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-sfps -o stage__Scale-Balanced-Grasp__proposal__graspness-sfps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-sfps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.4557], "loss/objectness": [0.8406, 0.4425], "loss/view": [0.2661, 0.1361], "loss/score": [0.04444, 0.01903], "loss/angle": [0.5099, 0.4591], "loss/width": [0.4245, 0.143], "loss/tolerance": [0.8354, 0.3046], "loss": [3.81, 1.96]}, "trend": {"loss/graspness": [0.8894, 0.4007, 0.549], "loss/objectness": [0.8406, 0.4816, 0.427], "loss/view": [0.2661, 0.15, 0.436], "loss/score": [0.04444, 0.02354, 0.47], "loss/angle": [0.5099, 0.4271, 0.162], "loss/width": [0.4245, 0.1528, 0.64], "loss/tolerance": [0.8354, 0.385, 0.539], "loss": [3.81, 2.021, 0.47]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.385, "mean": 0.532, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.134, "peak_gpu_mib": 9816.0, "seconds": 33.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-top-fraction", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-top-fraction"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-top-fraction", "verdict": "runs", "judge": 2, "config_hash": "0d7a1f4e44c9eaba", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-top-fraction -o stage__GSNet__proposal__graspness-top-fraction.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-top-fraction.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.4991], "loss/graspness": [5.176, 0.465], "loss/view": [6.321, 0.6135], "loss/score": [1.515, 0.1062], "loss/width": [4.159, 0.2921], "loss": [17.96, 1.976]}, "trend": {"loss/objectness": [0.7893, 0.5351, 0.322], "loss/graspness": [5.176, 0.4978, 0.904], "loss/view": [6.321, 0.3936, 0.938], "loss/score": [1.515, 0.1226, 0.919], "loss/width": [4.159, 0.2859, 0.931], "loss": [17.96, 1.835, 0.898]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.0975, 0.2099, 0.3227], [0.1415, 0.233, 0.4428]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 1840.0, "seconds": 25.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-top-fraction", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-top-fraction"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-top-fraction", "verdict": "runs", "judge": 2, "config_hash": "ac407ce8ed3c723e", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-top-fraction -o stage__EconomicGrasp__proposal__graspness-top-fraction.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-top-fraction.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6273], "loss/graspness": [5.216, 0.3037], "loss/view": [6.534, 0.8384], "loss/angle": [3.261, 0.9756], "loss/depth": [2.217, 0.5697], "loss/score": [2.147, 0.825], "loss/width": [8.721, 0.7756], "loss": [28.88, 4.915]}, "trend": {"loss/objectness": [0.7845, 0.6311, 0.196], "loss/graspness": [5.216, 0.365, 0.93], "loss/view": [6.534, 0.7829, 0.88], "loss/angle": [3.261, 0.7899, 0.758], "loss/depth": [2.217, 0.4762, 0.785], "loss/score": [2.147, 0.6786, 0.684], "loss/width": [8.721, 0.7718, 0.911], "loss": [28.88, 4.495, 0.844]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.086, "mean": 0.148, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.481, -3.147, -2.839], [-3.447, -3.159, -2.672]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.168, "peak_gpu_mib": 2066.2, "seconds": 25.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-top-fraction", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-top-fraction"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-top-fraction", "verdict": "runs", "judge": 2, "config_hash": "c7890f0d22f9f5a0", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-top-fraction -o stage__FineGrasp__proposal__graspness-top-fraction.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-top-fraction.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6163], "loss/graspness": [2.473, 0.2693], "loss/view": [8.195, 0.793], "loss/angle": [1.382, 1.169], "loss/depth": [2.069, 0.6494], "loss/score": [2.571, 0.9711], "loss/width": [4.929, 0.782], "loss": [22.42, 5.25]}, "trend": {"loss/objectness": [0.8058, 0.6255, 0.224], "loss/graspness": [2.473, 0.3195, 0.871], "loss/view": [8.195, 0.762, 0.907], "loss/angle": [1.382, 1.029, 0.255], "loss/depth": [2.069, 0.5747, 0.722], "loss/score": [2.571, 0.8678, 0.662], "loss/width": [4.929, 0.7785, 0.842], "loss": [22.42, 4.957, 0.779]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.036, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.794, -1.794, -1.794], [-1.794, -1.794, -1.794]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.655, "peak_gpu_mib": 11643.5, "seconds": 68.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-top-fraction", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-top-fraction"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-top-fraction", "verdict": "runs", "judge": 2, "config_hash": "baf1f3acb069c7dc", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-top-fraction -o stage__GraspNet-baseline__proposal__graspness-top-fraction.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-top-fraction.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [332, 159], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4121], "loss/objectness": [0.7292, 0.5745], "loss/view": [0.2268, 0.1453], "loss/score": [0.06522, 0.02561], "loss/angle": [0.5246, 0.402], "loss/width": [0.5061, 0.2643], "loss/tolerance": [0.975, 0.7177], "loss": [5.028, 2.542]}, "trend": {"loss/graspness": [2.001, 0.4762, 0.762], "loss/objectness": [0.7292, 0.6719, 0.079], "loss/view": [0.2268, 0.1167, 0.485], "loss/score": [0.06522, 0.03805, 0.417], "loss/angle": [0.5246, 0.475, 0.095], "loss/width": [0.5061, 0.3054, 0.397], "loss/tolerance": [0.975, 0.6681, 0.315], "loss": [5.028, 2.751, 0.453]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.303, "mean": 0.533, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-12.47, 3.362, 18.27], [-9.628, 1.672, 20.57]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.241, "peak_gpu_mib": 4172.7, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-top-fraction", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-top-fraction"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-top-fraction", "verdict": "runs-empty", "judge": 2, "config_hash": "a0f9529bf188ca18", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-top-fraction -o stage__Scale-Balanced-Grasp__proposal__graspness-top-fraction.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-top-fraction.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.3472], "loss/objectness": [0.8489, 0.5705], "loss/view": [0.2689, 0.1578], "loss/score": [0.03489, 0.01544], "loss/angle": [0.5095, 0.4513], "loss/width": [0.6159, 0.2717], "loss/tolerance": [0.6146, 0.4946], "loss": [3.782, 2.309]}, "trend": {"loss/graspness": [0.8894, 0.4062, 0.543], "loss/objectness": [0.8489, 0.5133, 0.395], "loss/view": [0.2689, 0.1739, 0.353], "loss/score": [0.03489, 0.03057, 0.124], "loss/angle": [0.5095, 0.4489, 0.119], "loss/width": [0.6159, 0.2427, 0.606], "loss/tolerance": [0.6146, 0.6125, 0.003], "loss": [3.782, 2.428, 0.358]}, "flags": {"loss/score": ["rising"], "loss/tolerance": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.326, "mean": 0.525, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.458, "peak_gpu_mib": 9816.3, "seconds": 17.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-topk", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-topk", "verdict": "runs", "judge": 2, "config_hash": "2aca9db161196d42", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-topk -o stage__GSNet__proposal__graspness-topk.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5215], "loss/graspness": [5.176, 0.4519], "loss/view": [6.929, 0.6905], "loss/score": [1.021, 0.09153], "loss/width": [3.476, 0.2667], "loss": [17.39, 2.022]}, "trend": {"loss/objectness": [0.7893, 0.546, 0.308], "loss/graspness": [5.176, 0.4567, 0.912], "loss/view": [6.929, 0.5724, 0.917], "loss/score": [1.021, 0.1152, 0.887], "loss/width": [3.476, 0.2927, 0.916], "loss": [17.39, 1.983, 0.886]}, "real_seeds": {"min": 0.747, "mean": 0.964, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1192, 0.2337, 0.3896], [0.08937, 0.2589, 0.3874]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.13, "peak_gpu_mib": 1841.0, "seconds": 26.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-topk", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-topk", "verdict": "runs", "judge": 2, "config_hash": "ec6dab89825ec4c7", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-topk -o stage__EconomicGrasp__proposal__graspness-topk.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6657], "loss/graspness": [5.216, 0.385], "loss/view": [7.417, 0.9264], "loss/angle": [3.247, 0.7992], "loss/depth": [2.18, 0.4332], "loss/score": [2.156, 0.702], "loss/width": [7.703, 0.7393], "loss": [28.7, 4.651]}, "trend": {"loss/objectness": [0.7845, 0.6734, 0.142], "loss/graspness": [5.216, 0.4309, 0.917], "loss/view": [7.417, 0.8533, 0.885], "loss/angle": [3.247, 0.8219, 0.747], "loss/depth": [2.18, 0.4772, 0.781], "loss/score": [2.156, 0.7081, 0.672], "loss/width": [7.703, 0.7644, 0.901], "loss": [28.7, 4.729, 0.835]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.081, "mean": 0.182, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.464, -3.022, -2.561], [-3.483, -3.053, -2.62]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.979, "peak_gpu_mib": 2066.2, "seconds": 52.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-topk", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-topk", "verdict": "runs", "judge": 2, "config_hash": "1c384f9cdcbe1307", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-topk -o stage__FineGrasp__proposal__graspness-topk.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.631], "loss/graspness": [2.473, 0.2692], "loss/view": [8.587, 0.9194], "loss/angle": [1.559, 1.251], "loss/depth": [1.987, 0.697], "loss/score": [2.517, 1.027], "loss/width": [5.131, 0.708], "loss": [23.06, 5.502]}, "trend": {"loss/objectness": [0.8058, 0.6389, 0.207], "loss/graspness": [2.473, 0.2743, 0.889], "loss/view": [8.587, 0.9232, 0.892], "loss/angle": [1.559, 1.168, 0.251], "loss/depth": [1.987, 0.661, 0.667], "loss/score": [2.517, 0.974, 0.613], "loss/width": [5.131, 0.8044, 0.843], "loss": [23.06, 5.444, 0.764]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.195, "mean": 0.952, "zero_iterations": 0}, "supervised_seeds": {"min": 0.004, "mean": 0.218, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.584, -1.584, -1.584], [-1.584, -1.584, -1.584]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.725, "peak_gpu_mib": 11643.5, "seconds": 92.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-topk", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-topk", "verdict": "runs", "judge": 2, "config_hash": "4a0e76e9eb1e2bdc", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-topk -o stage__GraspNet-baseline__proposal__graspness-topk.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [602, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4234], "loss/objectness": [0.7426, 0.6394], "loss/view": [0.2977, 0.1534], "loss/score": [0.04708, 0.01784], "loss/angle": [0.5155, 0.4326], "loss/width": [0.6103, 0.3229], "loss/tolerance": [0.9029, 1.248], "loss": [5.117, 3.238]}, "trend": {"loss/graspness": [2.001, 0.522, 0.739], "loss/objectness": [0.7426, 0.8082, -0.088], "loss/view": [0.2977, 0.1472, 0.506], "loss/score": [0.04708, 0.02796, 0.406], "loss/angle": [0.5155, 0.4409, 0.145], "loss/width": [0.6103, 0.3244, 0.468], "loss/tolerance": [0.9029, 0.8321, 0.078], "loss": [5.117, 3.103, 0.394]}, "real_seeds": {"min": 0.687, "mean": 0.969, "zero_iterations": 0}, "supervised_seeds": {"min": 0.147, "mean": 0.48, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-15.3, 1.932, 22.5], [-15.83, 1.781, 29.88]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.248, "peak_gpu_mib": 4173.5, "seconds": 13.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-topk", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-topk"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-topk", "verdict": "runs", "judge": 2, "config_hash": "c3db45daf47ed346", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-topk -o stage__Scale-Balanced-Grasp__proposal__graspness-topk.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-topk.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 37], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.3988], "loss/objectness": [0.8624, 0.6078], "loss/view": [0.257, 0.1846], "loss/score": [0.02686, 0.04052], "loss/angle": [0.5049, 0.4641], "loss/width": [0.6807, 0.3311], "loss/tolerance": [0.5353, 0.6601], "loss": [3.756, 2.687]}, "trend": {"loss/graspness": [0.8894, 0.3909, 0.561], "loss/objectness": [0.8624, 0.6335, 0.265], "loss/view": [0.257, 0.1918, 0.254], "loss/score": [0.02686, 0.02999, -0.117], "loss/angle": [0.5049, 0.4455, 0.118], "loss/width": [0.6807, 0.3293, 0.516], "loss/tolerance": [0.5353, 0.8187, -0.529], "loss": [3.756, 2.84, 0.244]}, "active": {"loss/view": 19, "loss/score": 19, "loss/angle": 19, "loss/width": 19, "loss/tolerance": 19}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.311, "mean": 0.566, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, [-2.02, 0.5629, 3.299]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.471, "peak_gpu_mib": 9816.3, "seconds": 17.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-torch-cluster", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-torch-cluster"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "8fcbb98bad8ab23b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-torch-cluster -o stage__GSNet__proposal__graspness-torch-cluster.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [160, 202], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6334], "loss/graspness": [5.176, 0.447], "loss/view": [6.291, 0.3131], "loss/score": [1.515, 0.07349], "loss/width": [3.654, 0.4529], "loss": [17.43, 1.92]}, "trend": {"loss/objectness": [0.7893, 0.6198, 0.215], "loss/graspness": [5.176, 0.3657, 0.929], "loss/view": [6.291, 0.3741, 0.941], "loss/score": [1.515, 0.08575, 0.943], "loss/width": [3.654, 0.2694, 0.926], "loss": [17.43, 1.715, 0.902]}, "real_seeds": {"min": 0.422, "mean": 0.916, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08371, 0.1504, 0.2176], [0.1061, 0.1791, 0.2828]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.202, "peak_gpu_mib": 1841.5, "seconds": 28.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-torch-cluster", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-torch-cluster"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "9f724ca046ad43b8", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-torch-cluster -o stage__EconomicGrasp__proposal__graspness-torch-cluster.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6222], "loss/graspness": [5.216, 0.2657], "loss/view": [6.545, 0.6824], "loss/angle": [3.303, 0.8031], "loss/depth": [2.236, 0.4721], "loss/score": [2.117, 0.6977], "loss/width": [8.756, 0.842], "loss": [28.96, 4.385]}, "trend": {"loss/objectness": [0.7845, 0.618, 0.212], "loss/graspness": [5.216, 0.3266, 0.937], "loss/view": [6.545, 0.7118, 0.891], "loss/angle": [3.303, 0.7644, 0.769], "loss/depth": [2.236, 0.4337, 0.806], "loss/score": [2.117, 0.652, 0.692], "loss/width": [8.756, 0.7044, 0.92], "loss": [28.96, 4.211, 0.855]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.522, -3.224, -2.958], [-3.634, -3.281, -2.998]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.213, "peak_gpu_mib": 2066.2, "seconds": 28.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-torch-cluster", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-torch-cluster"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "afe6b3d4e8f676a5", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-torch-cluster -o stage__FineGrasp__proposal__graspness-torch-cluster.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6202], "loss/graspness": [2.473, 0.263], "loss/view": [5.497, 0.618], "loss/angle": [1.429, 1.012], "loss/depth": [2.039, 0.5286], "loss/score": [2.563, 0.8441], "loss/width": [4.953, 0.7576], "loss": [19.76, 4.643]}, "trend": {"loss/objectness": [0.8058, 0.6278, 0.221], "loss/graspness": [2.473, 0.2735, 0.889], "loss/view": [5.497, 0.6091, 0.889], "loss/angle": [1.429, 1.024, 0.283], "loss/depth": [2.039, 0.5314, 0.739], "loss/score": [2.563, 0.8439, 0.671], "loss/width": [4.953, 0.7871, 0.841], "loss": [19.76, 4.697, 0.762]}, "real_seeds": {"min": 0.846, "mean": 0.976, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.707, -1.706, -1.706], [-1.707, -1.706, -1.706]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.877, "peak_gpu_mib": 11643.5, "seconds": 95.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-torch-cluster", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-torch-cluster"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "e2f3bb3c7b04bc5c", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-torch-cluster -o stage__GraspNet-baseline__proposal__graspness-torch-cluster.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-torch-cluster.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [428, 408], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4971], "loss/objectness": [0.6483, 0.6002], "loss/view": [0.1917, 0.09003], "loss/score": [0.08333, 0.0214], "loss/angle": [0.4967, 0.4368], "loss/width": [0.2999, 0.2232], "loss/tolerance": [0.9424, 0.4416], "loss": [4.663, 2.31]}, "trend": {"loss/graspness": [2.001, 0.4893, 0.755], "loss/objectness": [0.6483, 0.6145, 0.052], "loss/view": [0.1917, 0.09356, 0.512], "loss/score": [0.08333, 0.02504, 0.699], "loss/angle": [0.4967, 0.4489, 0.096], "loss/width": [0.2999, 0.2262, 0.246], "loss/tolerance": [0.9424, 0.4721, 0.499], "loss": [4.663, 2.369, 0.492]}, "real_seeds": {"min": 0.568, "mean": 0.963, "zero_iterations": 0}, "supervised_seeds": {"min": 0.323, "mean": 0.533, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-8.622, 1.159, 26.16], [-16.1, 0.5983, 20.03]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.379, "peak_gpu_mib": 4171.7, "seconds": 15.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-torch-cluster", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-torch-cluster"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-torch-cluster", "verdict": "runs", "judge": 2, "config_hash": "0cde0b769a6b3384", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-torch-cluster -o stage__Scale-Balanced-Grasp__proposal__graspness-torch-cluster.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-torch-cluster.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.2676], "loss/objectness": [0.8306, 0.4551], "loss/view": [0.2654, 0.1449], "loss/score": [0.05402, 0.02412], "loss/angle": [0.5112, 0.4313], "loss/width": [0.4636, 0.1192], "loss/tolerance": [0.9903, 0.262], "loss": [4.004, 1.704]}, "trend": {"loss/graspness": [0.8894, 0.3705, 0.583], "loss/objectness": [0.8306, 0.4298, 0.483], "loss/view": [0.2654, 0.1443, 0.456], "loss/score": [0.05402, 0.01855, 0.657], "loss/angle": [0.5112, 0.4241, 0.17], "loss/width": [0.4636, 0.1355, 0.708], "loss/tolerance": [0.9903, 0.3319, 0.665], "loss": [4.004, 1.855, 0.537]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.443, "mean": 0.527, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[1.084, 1.084, 1.084], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.402, "peak_gpu_mib": 9816.0, "seconds": 16.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/graspness-voxel", "group": "stage", "method": "GSNet", "sets": ["proposal=graspness-voxel"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-voxel", "verdict": "runs", "judge": 2, "config_hash": "3ef799fcc02eddc9", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=graspness-voxel -o stage__GSNet__proposal__graspness-voxel.yaml", "probe": "grasppanda probe stage__GSNet__proposal__graspness-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5897], "loss/graspness": [5.176, 0.2841], "loss/view": [5.111, 0.3255], "loss/score": [1.467, 0.0898], "loss/width": [3.621, 0.2706], "loss": [16.16, 1.56]}, "trend": {"loss/objectness": [0.7893, 0.6248, 0.208], "loss/graspness": [5.176, 0.3882, 0.925], "loss/view": [5.111, 0.3255, 0.936], "loss/score": [1.467, 0.09947, 0.932], "loss/width": [3.621, 0.2557, 0.929], "loss": [16.16, 1.694, 0.895]}, "real_seeds": {"min": 0.089, "mean": 0.839, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09111, 0.1654, 0.2428], [0.09919, 0.1692, 0.2526]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.752, "peak_gpu_mib": 1840.2, "seconds": 44.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/graspness-voxel", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=graspness-voxel"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-voxel", "verdict": "runs", "judge": 2, "config_hash": "70a8897672a76298", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=graspness-voxel -o stage__EconomicGrasp__proposal__graspness-voxel.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__graspness-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6348], "loss/graspness": [5.216, 0.3065], "loss/view": [5.775, 0.6689], "loss/angle": [3.328, 0.7081], "loss/depth": [2.184, 0.4316], "loss/score": [2.126, 0.5951], "loss/width": [9.305, 0.6914], "loss": [28.72, 4.036]}, "trend": {"loss/objectness": [0.7845, 0.634, 0.192], "loss/graspness": [5.216, 0.329, 0.937], "loss/view": [5.775, 0.6914, 0.88], "loss/angle": [3.328, 0.771, 0.768], "loss/depth": [2.184, 0.4378, 0.8], "loss/score": [2.126, 0.6581, 0.69], "loss/width": [9.305, 0.7293, 0.922], "loss": [28.72, 4.251, 0.852]}, "real_seeds": {"min": 0.792, "mean": 0.955, "zero_iterations": 0}, "supervised_seeds": {"min": 0.082, "mean": 0.126, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.484, -3.253, -2.923], [-3.589, -3.277, -2.467]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.29, "peak_gpu_mib": 2066.2, "seconds": 74.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/graspness-voxel", "group": "stage", "method": "FineGrasp", "sets": ["proposal=graspness-voxel"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-voxel", "verdict": "runs", "judge": 2, "config_hash": "eff586bde547730f", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=graspness-voxel -o stage__FineGrasp__proposal__graspness-voxel.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__graspness-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6163], "loss/graspness": [2.473, 0.2707], "loss/view": [5.494, 0.6015], "loss/angle": [1.482, 0.9696], "loss/depth": [2.038, 0.5383], "loss/score": [2.532, 0.8928], "loss/width": [4.916, 0.7992], "loss": [19.74, 4.688]}, "trend": {"loss/objectness": [0.8058, 0.6255, 0.224], "loss/graspness": [2.473, 0.2713, 0.89], "loss/view": [5.494, 0.6212, 0.887], "loss/angle": [1.482, 1.041, 0.298], "loss/depth": [2.038, 0.5465, 0.732], "loss/score": [2.532, 0.8916, 0.648], "loss/width": [4.916, 0.8291, 0.831], "loss": [19.74, 4.826, 0.756]}, "real_seeds": {"min": 0.178, "mean": 0.832, "zero_iterations": 0}, "supervised_seeds": {"min": 0.009, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.593, -1.593, -1.593], [-1.593, -1.593, -1.593]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 4.13, "peak_gpu_mib": 11643.5, "seconds": 133.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/graspness-voxel", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=graspness-voxel"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-voxel", "verdict": "runs", "judge": 2, "config_hash": "1df849599b236e01", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=graspness-voxel -o stage__GraspNet-baseline__proposal__graspness-voxel.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__graspness-voxel.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [268, 348], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.5436], "loss/objectness": [0.7953, 0.6105], "loss/view": [0.1919, 0.09211], "loss/score": [0.1016, 0.04435], "loss/angle": [0.5072, 0.4668], "loss/width": [0.7663, 0.2081], "loss/tolerance": [1.348, 0.5044], "loss": [5.711, 2.47]}, "trend": {"loss/graspness": [2.001, 0.5522, 0.724], "loss/objectness": [0.7953, 0.6523, 0.18], "loss/view": [0.1919, 0.09564, 0.502], "loss/score": [0.1016, 0.02745, 0.73], "loss/angle": [0.5072, 0.456, 0.101], "loss/width": [0.7663, 0.222, 0.71], "loss/tolerance": [1.348, 0.5106, 0.621], "loss": [5.711, 2.516, 0.559]}, "real_seeds": {"min": 0.18, "mean": 0.904, "zero_iterations": 0}, "supervised_seeds": {"min": 0.436, "mean": 0.541, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-10.52, 0.739, 12.86], [-7.192, 0.3582, 12.01]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.747, "peak_gpu_mib": 4173.5, "seconds": 28.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/graspness-voxel", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=graspness-voxel"], "slot": "proposal", "component": "ScoredSeeds", "variant": "graspness-voxel", "verdict": "runs-empty", "judge": 2, "config_hash": "ac2eb5588d839711", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=graspness-voxel -o stage__Scale-Balanced-Grasp__proposal__graspness-voxel.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__graspness-voxel.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.4], "loss/objectness": [0.8319, 0.4635], "loss/view": [0.2662, 0.1339], "loss/score": [0.05187, 0.01935], "loss/angle": [0.5085, 0.4452], "loss/width": [0.4761, 0.1682], "loss/tolerance": [0.9806, 0.3068], "loss": [4.005, 1.937]}, "trend": {"loss/graspness": [0.8894, 0.4475, 0.497], "loss/objectness": [0.8319, 0.4622, 0.444], "loss/view": [0.2662, 0.1495, 0.438], "loss/score": [0.05187, 0.01754, 0.662], "loss/angle": [0.5085, 0.4416, 0.132], "loss/width": [0.4761, 0.1527, 0.679], "loss/tolerance": [0.9806, 0.3357, 0.658], "loss": [4.005, 2.007, 0.499]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.447, "mean": 0.52, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.29, "peak_gpu_mib": 9816.0, "seconds": 38.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/objectness-fps", "group": "stage", "method": "GSNet", "sets": ["proposal=objectness-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "objectness-fps", "verdict": "runs", "judge": 2, "config_hash": "fc49959a4f65eaec", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=objectness-fps -o stage__GSNet__proposal__objectness-fps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__objectness-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6214], "loss/graspness": [5.176, 0.2627], "loss/view": [5.718, 0.3346], "loss/score": [1.573, 0.1022], "loss/width": [4.035, 0.2988], "loss": [17.29, 1.62]}, "trend": {"loss/objectness": [0.7893, 0.6502, 0.176], "loss/graspness": [5.176, 0.3491, 0.933], "loss/view": [5.718, 0.3227, 0.944], "loss/score": [1.573, 0.08944, 0.943], "loss/width": [4.035, 0.3502, 0.913], "loss": [17.29, 1.762, 0.898]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1282, 0.2147, 0.2968], [0.1436, 0.2126, 0.6252]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.248, "peak_gpu_mib": 1839.9, "seconds": 34.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/objectness-fps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=objectness-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "objectness-fps", "verdict": "runs", "judge": 2, "config_hash": "f23fb66e571bbadf", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=objectness-fps -o stage__EconomicGrasp__proposal__objectness-fps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__objectness-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6158], "loss/graspness": [5.216, 0.2849], "loss/view": [6.016, 0.6687], "loss/angle": [3.245, 0.6624], "loss/depth": [2.18, 0.3323], "loss/score": [2.122, 0.5443], "loss/width": [9.474, 0.6905], "loss": [29.04, 3.799]}, "trend": {"loss/objectness": [0.7845, 0.612, 0.22], "loss/graspness": [5.216, 0.3179, 0.939], "loss/view": [6.016, 0.6756, 0.888], "loss/angle": [3.245, 0.7386, 0.772], "loss/depth": [2.18, 0.4043, 0.814], "loss/score": [2.122, 0.6107, 0.712], "loss/width": [9.474, 0.6985, 0.926], "loss": [29.04, 4.058, 0.86]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.097, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.385, -3.136, -2.749], [-3.425, -3.167, -2.401]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.248, "peak_gpu_mib": 2066.2, "seconds": 31.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/objectness-fps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=objectness-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "objectness-fps", "verdict": "runs", "judge": 2, "config_hash": "2fa78aa936b56a26", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=objectness-fps -o stage__FineGrasp__proposal__objectness-fps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__objectness-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6166], "loss/graspness": [2.473, 0.2592], "loss/view": [5.402, 0.5937], "loss/angle": [1.402, 0.9506], "loss/depth": [2.037, 0.5139], "loss/score": [2.562, 0.803], "loss/width": [4.865, 0.807], "loss": [19.55, 4.544]}, "trend": {"loss/objectness": [0.8058, 0.6259, 0.223], "loss/graspness": [2.473, 0.2762, 0.888], "loss/view": [5.402, 0.603, 0.888], "loss/angle": [1.402, 0.944, 0.327], "loss/depth": [2.037, 0.5154, 0.747], "loss/score": [2.562, 0.7981, 0.689], "loss/width": [4.865, 0.7822, 0.839], "loss": [19.55, 4.545, 0.767]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.106, "mean": 0.113, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.538, -1.538, -1.537], [-1.538, -1.538, -1.537]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.692, "peak_gpu_mib": 11643.5, "seconds": 81.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/objectness-fps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=objectness-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "objectness-fps", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=objectness-fps -o stage__GraspNet-baseline__proposal__objectness-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "refusal": ["ScoredSeeds and ObjectnessViewStage both predict and supervise the 'objectness' of a seed; a detector needs exactly one owner for it. ScoredSeeds selects its seeds by objectness (`select_by: objectness`), which reads the objectness it predicts, so it cannot leave objectness to the view stage. Keep ScoredSeeds with a view stage that does not predict it (DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage), or keep ObjectnessViewStage with a proposal that does not (SampledSeeds, SubsampledSeeds)."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/objectness-fps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=objectness-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "objectness-fps", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=objectness-fps -o stage__Scale-Balanced-Grasp__proposal__objectness-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "refusal": ["ScoredSeeds and ObjectnessViewStage both predict and supervise the 'objectness' of a seed; a detector needs exactly one owner for it. ScoredSeeds selects its seeds by objectness (`select_by: objectness`), which reads the objectness it predicts, so it cannot leave objectness to the view stage. Keep ScoredSeeds with a view stage that does not predict it (DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage), or keep ObjectnessViewStage with a proposal that does not (SampledSeeds, SubsampledSeeds)."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/product-fps", "group": "stage", "method": "GSNet", "sets": ["proposal=product-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "product-fps", "verdict": "runs", "judge": 2, "config_hash": "bae79b84085a3e16", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=product-fps -o stage__GSNet__proposal__product-fps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__product-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [202, 750], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5635], "loss/graspness": [5.176, 0.365], "loss/view": [6.197, 0.6049], "loss/score": [1.519, 0.08845], "loss/width": [4.237, 0.4296], "loss": [17.92, 2.051]}, "trend": {"loss/objectness": [0.7893, 0.5985, 0.242], "loss/graspness": [5.176, 0.3486, 0.933], "loss/view": [6.197, 0.4596, 0.926], "loss/score": [1.519, 0.1092, 0.928], "loss/width": [4.237, 0.3049, 0.928], "loss": [17.92, 1.821, 0.898]}, "real_seeds": {"min": 0.319, "mean": 0.891, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1028, 0.2026, 0.3107], [0.1188, 0.2512, 0.4374]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.231, "peak_gpu_mib": 1843.1, "seconds": 41.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/product-fps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=product-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "product-fps", "verdict": "runs", "judge": 2, "config_hash": "3db269e7b17bdb1c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=product-fps -o stage__EconomicGrasp__proposal__product-fps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__product-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6083], "loss/graspness": [5.216, 0.2691], "loss/view": [6.398, 0.6907], "loss/angle": [3.265, 0.712], "loss/depth": [2.214, 0.4117], "loss/score": [2.113, 0.647], "loss/width": [8.887, 0.6698], "loss": [28.88, 4.009]}, "trend": {"loss/objectness": [0.7845, 0.6045, 0.229], "loss/graspness": [5.216, 0.3263, 0.937], "loss/view": [6.398, 0.7143, 0.888], "loss/angle": [3.265, 0.7327, 0.776], "loss/depth": [2.214, 0.4151, 0.812], "loss/score": [2.113, 0.632, 0.701], "loss/width": [8.887, 0.7081, 0.92], "loss": [28.88, 4.133, 0.857]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.088, "mean": 0.133, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.615, -3.292, -3.009], [-3.531, -3.242, -2.975]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 2066.2, "seconds": 32.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/product-fps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=product-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "product-fps", "verdict": "runs", "judge": 2, "config_hash": "d9c00376f6444e51", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=product-fps -o stage__FineGrasp__proposal__product-fps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__product-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6238], "loss/graspness": [2.473, 0.2546], "loss/view": [5.307, 0.6594], "loss/angle": [1.415, 1.057], "loss/depth": [2.04, 0.4819], "loss/score": [2.537, 0.8919], "loss/width": [4.732, 0.9257], "loss": [19.31, 4.895]}, "trend": {"loss/objectness": [0.8058, 0.631, 0.217], "loss/graspness": [2.473, 0.2662, 0.892], "loss/view": [5.307, 0.666, 0.874], "loss/angle": [1.415, 1.059, 0.252], "loss/depth": [2.04, 0.5562, 0.727], "loss/score": [2.537, 0.89, 0.649], "loss/width": [4.732, 0.8641, 0.817], "loss": [19.31, 4.933, 0.745]}, "real_seeds": {"min": 0.737, "mean": 0.975, "zero_iterations": 0}, "supervised_seeds": {"min": 0.019, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.562, -1.562, -1.562], [-1.562, -1.562, -1.562]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.699, "peak_gpu_mib": 11643.5, "seconds": 83.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/product-fps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=product-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "product-fps", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=product-fps -o stage__GraspNet-baseline__proposal__product-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "refusal": ["ScoredSeeds and ObjectnessViewStage both predict and supervise the 'objectness' of a seed; a detector needs exactly one owner for it. ScoredSeeds selects its seeds by product (`select_by: product`), which reads the objectness it predicts, so it cannot leave objectness to the view stage. Keep ScoredSeeds with a view stage that does not predict it (DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage), or keep ObjectnessViewStage with a proposal that does not (SampledSeeds, SubsampledSeeds)."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/product-fps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=product-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "product-fps", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=product-fps -o stage__Scale-Balanced-Grasp__proposal__product-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "refusal": ["ScoredSeeds and ObjectnessViewStage both predict and supervise the 'objectness' of a seed; a detector needs exactly one owner for it. ScoredSeeds selects its seeds by product (`select_by: product`), which reads the objectness it predicts, so it cannot leave objectness to the view stage. Keep ScoredSeeds with a view stage that does not predict it (DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage), or keep ObjectnessViewStage with a proposal that does not (SampledSeeds, SubsampledSeeds)."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/scored-fps", "group": "stage", "method": "GSNet", "sets": ["proposal=scored-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "scored-fps", "verdict": "runs", "judge": 2, "config_hash": "6dd0818895af547d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=scored-fps -o stage__GSNet__proposal__scored-fps.yaml", "probe": "grasppanda probe stage__GSNet__proposal__scored-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [330, 413], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6418], "loss/graspness": [5.176, 0.4415], "loss/view": [6.291, 0.3087], "loss/score": [1.515, 0.07913], "loss/width": [3.654, 0.2254], "loss": [17.43, 1.697]}, "trend": {"loss/objectness": [0.7893, 0.6168, 0.219], "loss/graspness": [5.176, 0.3772, 0.927], "loss/view": [6.291, 0.3889, 0.938], "loss/score": [1.515, 0.0878, 0.942], "loss/width": [3.654, 0.2341, 0.936], "loss": [17.43, 1.705, 0.902]}, "real_seeds": {"min": 0.453, "mean": 0.914, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1135, 0.1659, 0.2561], [0.1164, 0.1819, 0.2761]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.29, "peak_gpu_mib": 1841.5, "seconds": 42.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/scored-fps", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=scored-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "scored-fps", "verdict": "runs", "judge": 2, "config_hash": "ef6bbf82654c1fc9", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=scored-fps -o stage__EconomicGrasp__proposal__scored-fps.yaml", "probe": "grasppanda probe stage__EconomicGrasp__proposal__scored-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6287], "loss/graspness": [5.216, 0.2872], "loss/view": [6.545, 0.6797], "loss/angle": [3.303, 0.7799], "loss/depth": [2.236, 0.4514], "loss/score": [2.117, 0.6551], "loss/width": [8.756, 0.6922], "loss": [28.96, 4.174]}, "trend": {"loss/objectness": [0.7845, 0.619, 0.211], "loss/graspness": [5.216, 0.3322, 0.936], "loss/view": [6.545, 0.7084, 0.892], "loss/angle": [3.303, 0.7326, 0.778], "loss/depth": [2.236, 0.3908, 0.825], "loss/score": [2.117, 0.6189, 0.708], "loss/width": [8.756, 0.7251, 0.917], "loss": [28.96, 4.127, 0.857]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.482, -3.215, -2.872], [-3.625, -3.235, -2.973]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.182, "peak_gpu_mib": 2066.2, "seconds": 30.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/scored-fps", "group": "stage", "method": "FineGrasp", "sets": ["proposal=scored-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "scored-fps", "verdict": "runs", "judge": 2, "config_hash": "05f8837257c3c58a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=scored-fps -o stage__FineGrasp__proposal__scored-fps.yaml", "probe": "grasppanda probe stage__FineGrasp__proposal__scored-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.621], "loss/graspness": [2.473, 0.262], "loss/view": [5.497, 0.6128], "loss/angle": [1.429, 1.023], "loss/depth": [2.039, 0.5008], "loss/score": [2.563, 0.8795], "loss/width": [4.953, 0.8136], "loss": [19.76, 4.713]}, "trend": {"loss/objectness": [0.8058, 0.6282, 0.22], "loss/graspness": [2.473, 0.2747, 0.889], "loss/view": [5.497, 0.6072, 0.89], "loss/angle": [1.429, 1.008, 0.294], "loss/depth": [2.039, 0.5172, 0.746], "loss/score": [2.563, 0.8582, 0.665], "loss/width": [4.953, 0.8056, 0.837], "loss": [19.76, 4.699, 0.762]}, "real_seeds": {"min": 0.857, "mean": 0.984, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.728, -1.728, -1.728], [-1.728, -1.728, -1.728]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.725, "peak_gpu_mib": 11643.5, "seconds": 75.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/scored-fps", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=scored-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "scored-fps", "verdict": "runs", "judge": 2, "config_hash": "01ecd28afc204388", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=scored-fps -o stage__GraspNet-baseline__proposal__scored-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__GraspNet-baseline__proposal__scored-fps.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1158317, "iterations": 20, "batch_size": 2, "grasps_per_frame": [409, 67], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [2.001, 0.4288], "loss/objectness": [0.6483, 0.5919], "loss/view": [0.1917, 0.1009], "loss/score": [0.08333, 0.02363], "loss/angle": [0.4967, 0.4664], "loss/width": [0.2999, 0.2264], "loss/tolerance": [0.9424, 0.4951], "loss": [4.663, 2.333]}, "trend": {"loss/graspness": [2.001, 0.423, 0.789], "loss/objectness": [0.6483, 0.6154, 0.051], "loss/view": [0.1917, 0.09813, 0.488], "loss/score": [0.08333, 0.02476, 0.703], "loss/angle": [0.4967, 0.4616, 0.071], "loss/width": [0.2999, 0.2259, 0.247], "loss/tolerance": [0.9424, 0.5231, 0.445], "loss": [4.663, 2.372, 0.491]}, "real_seeds": {"min": 0.57, "mean": 0.963, "zero_iterations": 0}, "supervised_seeds": {"min": 0.326, "mean": 0.536, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-13.47, 0.4074, 10.71], [-6.05, -0.32, 7.337]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.296, "peak_gpu_mib": 4171.7, "seconds": 14.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/scored-fps", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=scored-fps"], "slot": "proposal", "component": "ScoredSeeds", "variant": "scored-fps", "verdict": "runs", "judge": 2, "config_hash": "b95c06a6b03071cb", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=scored-fps -o stage__Scale-Balanced-Grasp__proposal__scored-fps.yaml", "adapter": "FeaturePropagation", "fitted": ["data.train.dataset.graspness"], "probe": "grasppanda probe stage__Scale-Balanced-Grasp__proposal__scored-fps.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1709549, "iterations": 20, "batch_size": 2, "grasps_per_frame": [4, 1], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/graspness": [0.8894, 0.2687], "loss/objectness": [0.8306, 0.3897], "loss/view": [0.2654, 0.1278], "loss/score": [0.05402, 0.01939], "loss/angle": [0.5112, 0.427], "loss/width": [0.4636, 0.1298], "loss/tolerance": [0.9903, 0.3431], "loss": [4.004, 1.705]}, "trend": {"loss/graspness": [0.8894, 0.3729, 0.581], "loss/objectness": [0.8306, 0.4136, 0.502], "loss/view": [0.2654, 0.1442, 0.457], "loss/score": [0.05402, 0.02092, 0.613], "loss/angle": [0.5112, 0.4354, 0.148], "loss/width": [0.4636, 0.167, 0.64], "loss/tolerance": [0.9903, 0.3408, 0.656], "loss": [4.004, 1.895, 0.527]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.452, "mean": 0.524, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[2.399, 9.059, 10.74], [4.24, 4.24, 4.24]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.448, "peak_gpu_mib": 9816.0, "seconds": 17.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/proposal/SubsampledSeeds", "group": "stage", "method": "GSNet", "sets": ["proposal=SubsampledSeeds"], "slot": "proposal", "component": "SubsampledSeeds", "variant": "SubsampledSeeds", "verdict": "runs", "judge": 2, "config_hash": "d7c9db0bd02188fa", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal=SubsampledSeeds -o stage__GSNet__proposal__SubsampledSeeds.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe stage__GSNet__proposal__SubsampledSeeds.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15352236, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.221, 0.296], "loss/score": [1.83, 0.05107], "loss/width": [3.404, 0.2405], "loss": [10.46, 0.5875]}, "trend": {"loss/view": [5.221, 0.2922, 0.944], "loss/score": [1.83, 0.06323, 0.965], "loss/width": [3.404, 0.2222, 0.935], "loss": [10.46, 0.5777, 0.945]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [6, 4], "score_quantiles": [[0.06346, 0.1167, 0.2088], [0.05606, 0.1218, 0.2283]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.288, "peak_gpu_mib": 1721.2, "seconds": 29.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/proposal/SubsampledSeeds", "group": "stage", "method": "EconomicGrasp", "sets": ["proposal=SubsampledSeeds"], "slot": "proposal", "component": "SubsampledSeeds", "variant": "SubsampledSeeds", "verdict": "runs", "judge": 2, "config_hash": "c4322feeacb15556", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal=SubsampledSeeds -o stage__EconomicGrasp__proposal__SubsampledSeeds.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe stage__EconomicGrasp__proposal__SubsampledSeeds.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15748699, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.619, 0.6512], "loss/angle": [2.566, 0.6452], "loss/depth": [1.808, 0.3671], "loss/score": [2.336, 0.5951], "loss/width": [2.364, 0.6537], "loss": [14.69, 2.912]}, "trend": {"loss/view": [5.619, 0.6535, 0.884], "loss/angle": [2.566, 0.7551, 0.706], "loss/depth": [1.808, 0.4427, 0.755], "loss/score": [2.336, 0.6739, 0.712], "loss/width": [2.364, 0.8451, 0.642], "loss": [14.69, 3.37, 0.771]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-2.438, -2.111, -1.736], [-2.419, -2.126, -1.9]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.478, "peak_gpu_mib": 1909.0, "seconds": 40.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/proposal/SubsampledSeeds", "group": "stage", "method": "FineGrasp", "sets": ["proposal=SubsampledSeeds"], "slot": "proposal", "component": "SubsampledSeeds", "variant": "SubsampledSeeds", "verdict": "runs", "judge": 2, "config_hash": "aaebeaa8431f8cee", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal=SubsampledSeeds -o stage__FineGrasp__proposal__SubsampledSeeds.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe stage__FineGrasp__proposal__SubsampledSeeds.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19143902, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/view": [5.581, 0.6217], "loss/angle": [2.767, 0.8055], "loss/depth": [2.42, 0.4189], "loss/score": [2.499, 0.6689], "loss/width": [1.186, 0.6358], "loss": [14.45, 3.151]}, "trend": {"loss/view": [5.581, 0.6256, 0.888], "loss/angle": [2.767, 0.7683, 0.722], "loss/depth": [2.42, 0.4035, 0.833], "loss/score": [2.499, 0.6542, 0.738], "loss/width": [1.186, 0.6836, 0.424], "loss": [14.45, 3.135, 0.783]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 4], "score_quantiles": [[-3.124, -3.124, -3.124], [-3.124, -3.124, -3.124]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.63, "peak_gpu_mib": 11328.9, "seconds": 77.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/proposal/SubsampledSeeds", "group": "stage", "method": "GraspNet-baseline", "sets": ["proposal=SubsampledSeeds"], "slot": "proposal", "component": "SubsampledSeeds", "variant": "SubsampledSeeds", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set proposal=SubsampledSeeds -o stage__GraspNet-baseline__proposal__SubsampledSeeds.yaml", "probed_as": "reference/GraspNet-baseline", "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/proposal/SubsampledSeeds", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["proposal=SubsampledSeeds"], "slot": "proposal", "component": "SubsampledSeeds", "variant": "SubsampledSeeds", "verdict": "runs-empty", "judge": 2, "config_hash": "61901898cd133251", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set proposal=SubsampledSeeds -o stage__Scale-Balanced-Grasp__proposal__SubsampledSeeds.yaml", "probed_as": "reference/Scale-Balanced-Grasp", "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/direction-regression", "group": "stage", "method": "GSNet", "sets": ["view=direction-regression"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-regression", "verdict": "runs", "judge": 2, "config_hash": "820ee6d4308ddd67", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=direction-regression -o stage__GSNet__view__direction-regression.yaml", "probe": "grasppanda probe stage__GSNet__view__direction-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15201414, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.524], "loss/graspness": [5.176, 0.2603], "loss/view": [1.169, 0.3095], "loss/score": [1.444, 0.0964], "loss/width": [3.675, 0.1898], "loss": [12.25, 1.38]}, "trend": {"loss/objectness": [0.7893, 0.5655, 0.283], "loss/graspness": [5.176, 0.4364, 0.916], "loss/view": [1.169, 0.2674, 0.771], "loss/score": [1.444, 0.1161, 0.92], "loss/width": [3.675, 0.2191, 0.94], "loss": [12.25, 1.605, 0.869]}, "real_seeds": {"min": 0.611, "mean": 0.958, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.06673, 0.1453, 0.263], [0.06882, 0.148, 0.5102]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.221, "peak_gpu_mib": 1833.8, "seconds": 35.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/direction-regression", "group": "stage", "method": "EconomicGrasp", "sets": ["view=direction-regression"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-regression", "verdict": "runs", "judge": 2, "config_hash": "313cb709f49950af", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=direction-regression -o stage__EconomicGrasp__view__direction-regression.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__direction-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15597877, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5638], "loss/graspness": [5.216, 0.2905], "loss/view": [1.248, 0.4423], "loss/angle": [2.648, 1.919], "loss/depth": [1.07, 0.9165], "loss/score": [2.418, 1.558], "loss/width": [0.8243, 0.6699], "loss": [14.21, 6.36]}, "trend": {"loss/objectness": [0.7845, 0.5724, 0.27], "loss/graspness": [5.216, 0.3188, 0.939], "loss/view": [1.248, 0.4296, 0.656], "loss/angle": [2.648, 1.892, 0.285], "loss/depth": [1.07, 0.9275, 0.133], "loss/score": [2.418, 1.528, 0.368], "loss/width": [0.8243, 0.7285, 0.116], "loss": [14.21, 6.397, 0.55]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.146, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.63, -1.256, -0.8113], [-1.606, -1.27, -0.7747]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.181, "peak_gpu_mib": 2056.1, "seconds": 31.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/direction-regression", "group": "stage", "method": "FineGrasp", "sets": ["view=direction-regression"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-regression", "verdict": "runs", "judge": 2, "config_hash": "55813f2a709a115b", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=direction-regression -o stage__FineGrasp__view__direction-regression.yaml", "probe": "grasppanda probe stage__FineGrasp__view__direction-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18993080, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5923], "loss/graspness": [2.473, 0.2732], "loss/view": [0.8733, 0.3973], "loss/angle": [2.834, 2.01], "loss/depth": [1.859, 0.9986], "loss/score": [2.214, 1.593], "loss/width": [4.032, 0.5099], "loss": [15.09, 6.375]}, "trend": {"loss/objectness": [0.8058, 0.6077, 0.246], "loss/graspness": [2.473, 0.2819, 0.886], "loss/view": [0.8733, 0.4035, 0.538], "loss/angle": [2.834, 1.976, 0.303], "loss/depth": [1.859, 1.006, 0.459], "loss/score": [2.214, 1.587, 0.283], "loss/width": [4.032, 0.5391, 0.866], "loss": [15.09, 6.4, 0.576]}, "real_seeds": {"min": 0.842, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 0.026, "mean": 0.121, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.329, -1.329, -1.329], [-1.329, -1.329, -1.329]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.612, "peak_gpu_mib": 11631.1, "seconds": 75.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/direction-regression", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=direction-regression"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-regression", "verdict": "runs", "judge": 2, "config_hash": "5d8029cc5b58677e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=direction-regression -o stage__GraspNet-baseline__view__direction-regression.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__direction-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 856499, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.249, 0.2777], "loss/score": [0.02382, 0.03048], "loss/angle": [0.5414, 0.4286], "loss/width": [0.6283, 0.1631], "loss/tolerance": [1.098, 0.3993], "loss": [3.54, 1.299]}, "trend": {"loss/view": [1.249, 0.3496, 0.72], "loss/score": [0.02382, 0.02642, -0.109], "loss/angle": [0.5414, 0.418, 0.228], "loss/width": [0.6283, 0.1836, 0.708], "loss/tolerance": [1.098, 0.4138, 0.623], "loss": [3.54, 1.391, 0.607]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-18.01, 0.2586, 17.79], [-19.72, 0.2854, 17.61]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.217, "peak_gpu_mib": 3961.0, "seconds": 12.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/direction-regression", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=direction-regression"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-regression", "verdict": "runs", "judge": 2, "config_hash": "31346c5b576e2e7b", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=direction-regression -o stage__Scale-Balanced-Grasp__view__direction-regression.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__direction-regression.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1407731, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [0.7436, 0.355], "loss/score": [0.0313, 0.02106], "loss/angle": [0.5034, 0.4509], "loss/width": [0.4109, 0.1199], "loss/tolerance": [1.54, 0.3503], "loss": [3.229, 1.297]}, "trend": {"loss/view": [0.7436, 0.4372, 0.412], "loss/score": [0.0313, 0.01783, 0.431], "loss/angle": [0.5034, 0.4259, 0.154], "loss/width": [0.4109, 0.1416, 0.655], "loss/tolerance": [1.54, 0.2965, 0.807], "loss": [3.229, 1.319, 0.592]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-7.543, 0.4263, 58.19], [-7.931, 0.6932, 57.28]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.408, "peak_gpu_mib": 9604.4, "seconds": 16.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/direction-vmf", "group": "stage", "method": "GSNet", "sets": ["view=direction-vmf"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-vmf", "verdict": "runs", "judge": 2, "config_hash": "8c01ad1ff5257a31", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=direction-vmf -o stage__GSNet__view__direction-vmf.yaml", "probe": "grasppanda probe stage__GSNet__view__direction-vmf.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15201927, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5487], "loss/graspness": [5.176, 0.3751], "loss/view": [2.683, 1.314], "loss/score": [1.584, 0.101], "loss/width": [3.591, 0.1375], "loss": [13.82, 2.476]}, "trend": {"loss/objectness": [0.7893, 0.6002, 0.24], "loss/graspness": [5.176, 0.4222, 0.918], "loss/view": [2.683, 1.575, 0.413], "loss/score": [1.584, 0.1093, 0.931], "loss/width": [3.591, 0.1878, 0.948], "loss": [13.82, 2.895, 0.791]}, "real_seeds": {"min": 0.367, "mean": 0.896, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07956, 0.1331, 0.2092], [0.05789, 0.1241, 0.3008]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.253, "peak_gpu_mib": 1833.8, "seconds": 30.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/direction-vmf", "group": "stage", "method": "EconomicGrasp", "sets": ["view=direction-vmf"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-vmf", "verdict": "runs", "judge": 2, "config_hash": "d096beccbc80d803", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=direction-vmf -o stage__EconomicGrasp__view__direction-vmf.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__direction-vmf.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15598390, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5781], "loss/graspness": [5.216, 0.3053], "loss/view": [2.742, 2.012], "loss/angle": [2.919, 1.914], "loss/depth": [1.785, 0.9084], "loss/score": [2.965, 1.613], "loss/width": [2.124, 0.5646], "loss": [18.54, 7.895]}, "trend": {"loss/objectness": [0.7845, 0.5779, 0.263], "loss/graspness": [5.216, 0.3613, 0.931], "loss/view": [2.742, 2.007, 0.268], "loss/angle": [2.919, 1.883, 0.355], "loss/depth": [1.785, 0.9254, 0.482], "loss/score": [2.965, 1.548, 0.478], "loss/width": [2.124, 0.5351, 0.748], "loss": [18.54, 7.838, 0.577]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.146, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-0.9806, -0.6927, -0.3522], [-1.129, -0.69, -0.3871]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.843, "peak_gpu_mib": 2056.1, "seconds": 36.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/direction-vmf", "group": "stage", "method": "FineGrasp", "sets": ["view=direction-vmf"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-vmf", "verdict": "runs", "judge": 2, "config_hash": "376f22b0807fb260", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=direction-vmf -o stage__FineGrasp__view__direction-vmf.yaml", "probe": "grasppanda probe stage__FineGrasp__view__direction-vmf.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18993593, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6196], "loss/graspness": [2.473, 0.2585], "loss/view": [2.53, 1.829], "loss/angle": [2.618, 2.004], "loss/depth": [2.15, 1.033], "loss/score": [2.168, 1.598], "loss/width": [2.384, 0.4386], "loss": [15.13, 7.781]}, "trend": {"loss/objectness": [0.8058, 0.6298, 0.218], "loss/graspness": [2.473, 0.2665, 0.892], "loss/view": [2.53, 1.907, 0.246], "loss/angle": [2.618, 1.934, 0.262], "loss/depth": [2.15, 0.9783, 0.545], "loss/score": [2.168, 1.58, 0.271], "loss/width": [2.384, 0.5897, 0.753], "loss": [15.13, 7.885, 0.479]}, "real_seeds": {"min": 0.854, "mean": 0.992, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.12, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.6556, -0.6556, -0.6555], [-0.6557, -0.6556, -0.6555]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.99, "peak_gpu_mib": 11631.1, "seconds": 79.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/direction-vmf", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=direction-vmf"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-vmf", "verdict": "runs", "judge": 2, "config_hash": "8f676d91fed0599f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=direction-vmf -o stage__GraspNet-baseline__view__direction-vmf.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__direction-vmf.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 856756, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [2.661, 1.567], "loss/score": [0.06222, 0.03013], "loss/angle": [0.5138, 0.4141], "loss/width": [0.3777, 0.1431], "loss/tolerance": [1.37, 0.3247], "loss": [4.986, 2.479]}, "trend": {"loss/view": [2.661, 1.752, 0.342], "loss/score": [0.06222, 0.02507, 0.597], "loss/angle": [0.5138, 0.3999, 0.222], "loss/width": [0.3777, 0.1407, 0.628], "loss/tolerance": [1.37, 0.3429, 0.75], "loss": [4.986, 2.661, 0.466]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-14.06, -0.2729, 12.59], [-13.14, -0.1796, 13.42]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 3961.1, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/direction-vmf", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=direction-vmf"], "slot": "view", "component": "DirectionViewStage", "variant": "direction-vmf", "verdict": "runs", "judge": 2, "config_hash": "40cbf9c254c3b6cb", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=direction-vmf -o stage__Scale-Balanced-Grasp__view__direction-vmf.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__direction-vmf.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1407988, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [2.419, 1.892], "loss/score": [0.03762, 0.03043], "loss/angle": [0.5031, 0.4218], "loss/width": [0.4739, 0.1458], "loss/tolerance": [1.408, 0.1884], "loss": [4.841, 2.678]}, "trend": {"loss/view": [2.419, 2.016, 0.167], "loss/score": [0.03762, 0.0178, 0.527], "loss/angle": [0.5031, 0.4143, 0.176], "loss/width": [0.4739, 0.1573, 0.668], "loss/tolerance": [1.408, 0.2428, 0.828], "loss": [4.841, 2.848, 0.412]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-46.33, 0.09966, 10.2], [-31.15, 0.09946, 11.8]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.446, "peak_gpu_mib": 9604.4, "seconds": 17.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/healpix-192", "group": "stage", "method": "GSNet", "sets": ["view=healpix-192"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-192", "verdict": "runs", "judge": 2, "config_hash": "4020bfdfc6bc03b5", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=healpix-192 -o stage__GSNet__view__healpix-192.yaml", "probe": "grasppanda probe stage__GSNet__view__healpix-192.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15298371, "iterations": 20, "batch_size": 4, "grasps_per_frame": [335, 424], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6163], "loss/graspness": [5.176, 0.3689], "loss/view": [6.127, 0.616], "loss/score": [1.879, 0.08502], "loss/width": [3.105, 0.4339], "loss": [17.08, 2.12]}, "trend": {"loss/objectness": [0.7893, 0.6227, 0.211], "loss/graspness": [5.176, 0.3324, 0.936], "loss/view": [6.127, 0.4321, 0.929], "loss/score": [1.879, 0.08306, 0.956], "loss/width": [3.105, 0.2626, 0.915], "loss": [17.08, 1.733, 0.899]}, "real_seeds": {"min": 0.263, "mean": 0.913, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.0934, 0.1873, 0.2833], [0.08853, 0.2046, 0.3908]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.156, "peak_gpu_mib": 1837.8, "seconds": 34.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/healpix-192", "group": "stage", "method": "EconomicGrasp", "sets": ["view=healpix-192"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-192", "verdict": "runs", "judge": 2, "config_hash": "37a04d057b4e5c19", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=healpix-192 -o stage__EconomicGrasp__view__healpix-192.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__healpix-192.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15694834, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5878], "loss/graspness": [5.216, 0.3449], "loss/view": [6.41, 0.8075], "loss/angle": [3.056, 0.6463], "loss/depth": [1.486, 0.3143], "loss/score": [1.619, 0.5628], "loss/width": [2.543, 0.6711], "loss": [21.11, 3.935]}, "trend": {"loss/objectness": [0.7845, 0.6, 0.235], "loss/graspness": [5.216, 0.3877, 0.926], "loss/view": [6.41, 0.8293, 0.871], "loss/angle": [3.056, 0.6957, 0.772], "loss/depth": [1.486, 0.376, 0.747], "loss/score": [1.619, 0.5925, 0.634], "loss/width": [2.543, 0.6742, 0.735], "loss": [21.11, 4.155, 0.803]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.328, -1.918, -1.59], [-2.293, -1.908, -1.53]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.182, "peak_gpu_mib": 2062.2, "seconds": 35.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/healpix-192", "group": "stage", "method": "FineGrasp", "sets": ["view=healpix-192"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-192", "verdict": "runs", "judge": 2, "config_hash": "b60769035c620c00", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=healpix-192 -o stage__FineGrasp__view__healpix-192.yaml", "probe": "grasppanda probe stage__FineGrasp__view__healpix-192.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19090037, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6289], "loss/graspness": [2.473, 0.2613], "loss/view": [5.411, 0.7258], "loss/angle": [2.284, 1.099], "loss/depth": [2.513, 0.5769], "loss/score": [1.907, 0.9164], "loss/width": [4.667, 0.7306], "loss": [20.06, 4.939]}, "trend": {"loss/objectness": [0.8058, 0.6382, 0.208], "loss/graspness": [2.473, 0.2633, 0.894], "loss/view": [5.411, 0.7196, 0.867], "loss/angle": [2.284, 0.9951, 0.564], "loss/depth": [2.513, 0.5263, 0.791], "loss/score": [1.907, 0.8497, 0.554], "loss/width": [4.667, 0.8099, 0.826], "loss": [20.06, 4.802, 0.761]}, "real_seeds": {"min": 0.473, "mean": 0.937, "zero_iterations": 0}, "supervised_seeds": {"min": 0.015, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.51, -2.51, -2.51], [-2.51, -2.51, -2.51]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.795, "peak_gpu_mib": 11640.1, "seconds": 84.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/healpix-192", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=healpix-192"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-192", "verdict": "runs", "judge": 2, "config_hash": "a5a420a8d9bf28dc", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=healpix-192 -o stage__GraspNet-baseline__view__healpix-192.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__healpix-192.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 905072, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.887, 0.4837], "loss/score": [0.07099, 0.02858], "loss/angle": [0.5084, 0.4527], "loss/width": [0.5372, 0.2331], "loss/tolerance": [0.9902, 0.473], "loss": [3.993, 1.671]}, "trend": {"loss/view": [1.887, 0.4525, 0.76], "loss/score": [0.07099, 0.02979, 0.58], "loss/angle": [0.5084, 0.4549, 0.105], "loss/width": [0.5372, 0.2454, 0.543], "loss/tolerance": [0.9902, 0.5655, 0.429], "loss": [3.993, 1.748, 0.562]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-12.74, 0.0004517, 16.4], [-12.9, 0.2346, 19.2]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.267, "peak_gpu_mib": 3963.1, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/healpix-192", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=healpix-192"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-192", "verdict": "runs", "judge": 2, "config_hash": "33ff259b0882a592", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=healpix-192 -o stage__Scale-Balanced-Grasp__view__healpix-192.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__healpix-192.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1456304, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [11.99, 0.3038], "loss/score": [0.03532, 0.0238], "loss/angle": [0.55, 0.4804], "loss/width": [0.564, 0.1593], "loss/tolerance": [1.693, 0.482], "loss": [14.84, 1.449]}, "trend": {"loss/view": [11.99, 0.2619, 0.978], "loss/score": [0.03532, 0.02514, 0.288], "loss/angle": [0.55, 0.4719, 0.142], "loss/width": [0.564, 0.1982, 0.649], "loss/tolerance": [1.693, 0.4916, 0.71], "loss": [14.84, 1.449, 0.902]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-43.52, 1.063, 34.03], [-45.42, 1.293, 34.39]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.476, "peak_gpu_mib": 9606.9, "seconds": 16.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/healpix-768", "group": "stage", "method": "GSNet", "sets": ["view=healpix-768"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-768", "verdict": "runs", "judge": 2, "config_hash": "c79ce91359ba33cf", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=healpix-768 -o stage__GSNet__view__healpix-768.yaml", "probe": "grasppanda probe stage__GSNet__view__healpix-768.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15593859, "iterations": 20, "batch_size": 4, "grasps_per_frame": [515, 626], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6008], "loss/graspness": [5.176, 0.3883], "loss/view": [6.434, 0.2729], "loss/score": [1.109, 0.07726], "loss/width": [2.897, 0.2738], "loss": [16.41, 1.613]}, "trend": {"loss/objectness": [0.7893, 0.613, 0.223], "loss/graspness": [5.176, 0.3432, 0.934], "loss/view": [6.434, 0.4073, 0.937], "loss/score": [1.109, 0.0801, 0.928], "loss/width": [2.897, 0.2181, 0.925], "loss": [16.41, 1.662, 0.899]}, "real_seeds": {"min": 0.268, "mean": 0.893, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09617, 0.1479, 0.2301], [0.08199, 0.1659, 0.2388]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.251, "peak_gpu_mib": 1851.7, "seconds": 29.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/healpix-768", "group": "stage", "method": "EconomicGrasp", "sets": ["view=healpix-768"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-768", "verdict": "runs", "judge": 2, "config_hash": "d3abd1f077e17ceb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=healpix-768 -o stage__EconomicGrasp__view__healpix-768.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__healpix-768.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15990322, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.647], "loss/graspness": [5.216, 0.2965], "loss/view": [6.737, 0.7172], "loss/angle": [2.487, 0.7711], "loss/depth": [1.152, 0.4363], "loss/score": [2.027, 0.6642], "loss/width": [3.83, 0.7141], "loss": [22.23, 4.246]}, "trend": {"loss/objectness": [0.7845, 0.6386, 0.186], "loss/graspness": [5.216, 0.3668, 0.93], "loss/view": [6.737, 0.7362, 0.891], "loss/angle": [2.487, 0.7493, 0.699], "loss/depth": [1.152, 0.4111, 0.643], "loss/score": [2.027, 0.6375, 0.686], "loss/width": [3.83, 0.7318, 0.809], "loss": [22.23, 4.271, 0.808]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.14, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.338, -2.054, -1.86], [-2.405, -2.057, -1.642]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 2129.7, "seconds": 27.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/healpix-768", "group": "stage", "method": "FineGrasp", "sets": ["view=healpix-768"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-768", "verdict": "runs", "judge": 2, "config_hash": "6581d57cf761f0c4", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=healpix-768 -o stage__FineGrasp__view__healpix-768.yaml", "probe": "grasppanda probe stage__FineGrasp__view__healpix-768.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19385525, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5878], "loss/graspness": [2.473, 0.2542], "loss/view": [5.424, 0.661], "loss/angle": [2.834, 0.9375], "loss/depth": [1.066, 0.4829], "loss/score": [1.961, 0.8016], "loss/width": [1.435, 0.7569], "loss": [16.0, 4.482]}, "trend": {"loss/objectness": [0.8058, 0.6059, 0.248], "loss/graspness": [2.473, 0.266, 0.892], "loss/view": [5.424, 0.6477, 0.881], "loss/angle": [2.834, 0.9164, 0.677], "loss/depth": [1.066, 0.479, 0.551], "loss/score": [1.961, 0.7785, 0.603], "loss/width": [1.435, 0.8019, 0.441], "loss": [16.0, 4.495, 0.719]}, "real_seeds": {"min": 0.131, "mean": 0.934, "zero_iterations": 0}, "supervised_seeds": {"min": 0.039, "mean": 0.13, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.302, -2.302, -2.302], [-2.302, -2.302, -2.302]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.777, "peak_gpu_mib": 11911.5, "seconds": 75.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/healpix-768", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=healpix-768"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-768", "verdict": "runs", "judge": 2, "config_hash": "3ca26bc1242a4e72", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=healpix-768 -o stage__GraspNet-baseline__view__healpix-768.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__healpix-768.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1053104, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.912, 0.4552], "loss/score": [0.07755, 0.02746], "loss/angle": [0.5321, 0.4581], "loss/width": [0.6093, 0.195], "loss/tolerance": [1.55, 0.4453], "loss": [4.681, 1.581]}, "trend": {"loss/view": [1.912, 0.4222, 0.779], "loss/score": [0.07755, 0.02912, 0.624], "loss/angle": [0.5321, 0.452, 0.15], "loss/width": [0.6093, 0.2102, 0.655], "loss/tolerance": [1.55, 0.5701, 0.632], "loss": [4.681, 1.684, 0.64]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-31.62, -3.523, 16.38], [-26.6, -2.527, 39.73]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.285, "peak_gpu_mib": 3969.3, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/healpix-768", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=healpix-768"], "slot": "view", "component": "HealpixViewStage", "variant": "healpix-768", "verdict": "runs", "judge": 2, "config_hash": "5af5bbe4f2d406e4", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=healpix-768 -o stage__Scale-Balanced-Grasp__view__healpix-768.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__healpix-768.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1604336, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.1, 0.2936], "loss/score": [0.04663, 0.01165], "loss/angle": [0.5129, 0.428], "loss/width": [0.5269, 0.163], "loss/tolerance": [1.075, 0.3546], "loss": [14.26, 1.251]}, "trend": {"loss/view": [12.1, 0.2544, 0.979], "loss/score": [0.04663, 0.0186, 0.601], "loss/angle": [0.5129, 0.4509, 0.121], "loss/width": [0.5269, 0.2001, 0.62], "loss/tolerance": [1.075, 0.378, 0.648], "loss": [14.26, 1.302, 0.909]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-40.29, -5.086, 46.15], [-52.09, -3.315, 20.61]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.467, "peak_gpu_mib": 9612.6, "seconds": 17.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/icosphere-162", "group": "stage", "method": "GSNet", "sets": ["view=icosphere-162"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-162", "verdict": "runs", "judge": 2, "config_hash": "b9fd1dfe7b8ccb8b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=icosphere-162 -o stage__GSNet__view__icosphere-162.yaml", "probe": "grasppanda probe stage__GSNet__view__icosphere-162.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15282981, "iterations": 20, "batch_size": 4, "grasps_per_frame": [831, 699], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5681], "loss/graspness": [5.176, 0.3127], "loss/view": [6.094, 0.4912], "loss/score": [1.112, 0.0732], "loss/width": [2.475, 0.2025], "loss": [15.65, 1.648]}, "trend": {"loss/objectness": [0.7893, 0.605, 0.234], "loss/graspness": [5.176, 0.3202, 0.938], "loss/view": [6.094, 0.4232, 0.931], "loss/score": [1.112, 0.0802, 0.928], "loss/width": [2.475, 0.2088, 0.916], "loss": [15.65, 1.637, 0.895]}, "real_seeds": {"min": 0.677, "mean": 0.973, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08138, 0.136, 0.2078], [0.08311, 0.1443, 0.7679]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.246, "peak_gpu_mib": 1837.3, "seconds": 36.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/icosphere-162", "group": "stage", "method": "EconomicGrasp", "sets": ["view=icosphere-162"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-162", "verdict": "runs", "judge": 2, "config_hash": "99bebaae20adcda0", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=icosphere-162 -o stage__EconomicGrasp__view__icosphere-162.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__icosphere-162.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15679444, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6004], "loss/graspness": [5.216, 0.2939], "loss/view": [6.488, 0.8561], "loss/angle": [2.16, 0.6994], "loss/depth": [1.419, 0.3245], "loss/score": [1.371, 0.5882], "loss/width": [5.754, 0.6957], "loss": [23.19, 4.058]}, "trend": {"loss/objectness": [0.7845, 0.6101, 0.222], "loss/graspness": [5.216, 0.3334, 0.936], "loss/view": [6.488, 0.8708, 0.866], "loss/angle": [2.16, 0.7696, 0.644], "loss/depth": [1.419, 0.4164, 0.707], "loss/score": [1.371, 0.6389, 0.534], "loss/width": [5.754, 0.6957, 0.879], "loss": [23.19, 4.335, 0.813]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.145, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.727, -1.44, -1.182], [-1.847, -1.402, -1.085]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.235, "peak_gpu_mib": 2059.7, "seconds": 37.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/icosphere-162", "group": "stage", "method": "FineGrasp", "sets": ["view=icosphere-162"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-162", "verdict": "runs", "judge": 2, "config_hash": "8d70e75412603c2d", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=icosphere-162 -o stage__FineGrasp__view__icosphere-162.yaml", "probe": "grasppanda probe stage__FineGrasp__view__icosphere-162.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19074647, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6049], "loss/graspness": [2.473, 0.2472], "loss/view": [5.583, 0.7401], "loss/angle": [3.423, 1.064], "loss/depth": [1.304, 0.5762], "loss/score": [2.344, 0.8807], "loss/width": [1.741, 0.7497], "loss": [17.67, 4.863]}, "trend": {"loss/objectness": [0.8058, 0.6197, 0.231], "loss/graspness": [2.473, 0.2542, 0.897], "loss/view": [5.583, 0.7623, 0.863], "loss/angle": [3.423, 1.034, 0.698], "loss/depth": [1.304, 0.5614, 0.569], "loss/score": [2.344, 0.8831, 0.623], "loss/width": [1.741, 0.7713, 0.557], "loss": [17.67, 4.886, 0.724]}, "real_seeds": {"min": 0.685, "mean": 0.98, "zero_iterations": 0}, "supervised_seeds": {"min": 0.043, "mean": 0.12, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.448, -1.447, -1.447], [-1.448, -1.447, -1.447]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.827, "peak_gpu_mib": 11637.8, "seconds": 89.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/icosphere-162", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=icosphere-162"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-162", "verdict": "runs", "judge": 2, "config_hash": "86c76ba8071a8229", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=icosphere-162 -o stage__GraspNet-baseline__view__icosphere-162.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__icosphere-162.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 897362, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.991, 0.4831], "loss/score": [0.09367, 0.02452], "loss/angle": [0.5284, 0.4601], "loss/width": [0.4477, 0.3062], "loss/tolerance": [0.9665, 0.7932], "loss": [4.028, 2.067]}, "trend": {"loss/view": [1.991, 0.4579, 0.77], "loss/score": [0.09367, 0.0241, 0.743], "loss/angle": [0.5284, 0.4619, 0.126], "loss/width": [0.4477, 0.2569, 0.426], "loss/tolerance": [0.9665, 0.6015, 0.378], "loss": [4.028, 1.802, 0.553]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-26.67, -0.2893, 22.54], [-33.01, -0.6793, 14.55]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.285, "peak_gpu_mib": 3962.7, "seconds": 13.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/icosphere-162", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=icosphere-162"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-162", "verdict": "runs", "judge": 2, "config_hash": "280cdc13323cff58", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=icosphere-162 -o stage__Scale-Balanced-Grasp__view__icosphere-162.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__icosphere-162.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1448594, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [11.71, 0.3042], "loss/score": [0.05737, 0.01324], "loss/angle": [0.5356, 0.4761], "loss/width": [0.4229, 0.226], "loss/tolerance": [1.386, 0.4457], "loss": [14.12, 1.465]}, "trend": {"loss/view": [11.71, 0.268, 0.977], "loss/score": [0.05737, 0.01654, 0.712], "loss/angle": [0.5356, 0.4643, 0.133], "loss/width": [0.4229, 0.2036, 0.519], "loss/tolerance": [1.386, 0.4881, 0.648], "loss": [14.12, 1.441, 0.898]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-51.13, 0.9331, 26.8], [-54.96, 1.001, 22.22]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.443, "peak_gpu_mib": 9606.8, "seconds": 17.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/icosphere-642", "group": "stage", "method": "GSNet", "sets": ["view=icosphere-642"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-642", "verdict": "runs", "judge": 2, "config_hash": "f8d736ba2839e247", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=icosphere-642 -o stage__GSNet__view__icosphere-642.yaml", "probe": "grasppanda probe stage__GSNet__view__icosphere-642.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15529221, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5743], "loss/graspness": [5.176, 0.3288], "loss/view": [6.409, 0.4473], "loss/score": [0.9916, 0.07328], "loss/width": [2.946, 0.194], "loss": [16.31, 1.618]}, "trend": {"loss/objectness": [0.7893, 0.6084, 0.229], "loss/graspness": [5.176, 0.3192, 0.938], "loss/view": [6.409, 0.3563, 0.944], "loss/score": [0.9916, 0.07978, 0.92], "loss/width": [2.946, 0.2216, 0.925], "loss": [16.31, 1.585, 0.903]}, "real_seeds": {"min": 0.653, "mean": 0.974, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07522, 0.1092, 0.1898], [0.072, 0.1257, 0.6405]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.163, "peak_gpu_mib": 1850.1, "seconds": 30.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/icosphere-642", "group": "stage", "method": "EconomicGrasp", "sets": ["view=icosphere-642"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-642", "verdict": "runs", "judge": 2, "config_hash": "685e0208d00d20d1", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=icosphere-642 -o stage__EconomicGrasp__view__icosphere-642.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__icosphere-642.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15925684, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5635], "loss/graspness": [5.216, 0.2781], "loss/view": [6.684, 0.7373], "loss/angle": [2.7, 0.6959], "loss/depth": [2.375, 0.3842], "loss/score": [2.698, 0.6043], "loss/width": [0.7229, 0.68], "loss": [21.18, 3.943]}, "trend": {"loss/objectness": [0.7845, 0.55, 0.299], "loss/graspness": [5.216, 0.2851, 0.945], "loss/view": [6.684, 0.7208, 0.892], "loss/angle": [2.7, 0.7392, 0.726], "loss/depth": [2.375, 0.4209, 0.823], "loss/score": [2.698, 0.6246, 0.768], "loss/width": [0.7229, 0.7262, -0.004], "loss": [21.18, 4.067, 0.808]}, "flags": {"loss/width": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.165, -1.914, -1.667], [-2.349, -1.933, -1.61]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.215, "peak_gpu_mib": 2099.5, "seconds": 39.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/icosphere-642", "group": "stage", "method": "FineGrasp", "sets": ["view=icosphere-642"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-642", "verdict": "runs", "judge": 2, "config_hash": "af5bcbe4b59c0f53", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=icosphere-642 -o stage__FineGrasp__view__icosphere-642.yaml", "probe": "grasppanda probe stage__FineGrasp__view__icosphere-642.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19320887, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5892], "loss/graspness": [2.473, 0.2581], "loss/view": [5.455, 0.6365], "loss/angle": [3.094, 1.044], "loss/depth": [1.755, 0.5591], "loss/score": [2.044, 0.8915], "loss/width": [5.084, 0.7388], "loss": [20.71, 4.717]}, "trend": {"loss/objectness": [0.8058, 0.6054, 0.249], "loss/graspness": [2.473, 0.2675, 0.892], "loss/view": [5.455, 0.6545, 0.88], "loss/angle": [3.094, 0.9353, 0.698], "loss/depth": [1.755, 0.4993, 0.715], "loss/score": [2.044, 0.796, 0.611], "loss/width": [5.084, 0.7649, 0.85], "loss": [20.71, 4.523, 0.782]}, "real_seeds": {"min": 0.527, "mean": 0.976, "zero_iterations": 0}, "supervised_seeds": {"min": 0.016, "mean": 0.119, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.231, -1.231, -1.231], [-1.231, -1.231, -1.231]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.69, "peak_gpu_mib": 11842.5, "seconds": 74.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/icosphere-642", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=icosphere-642"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-642", "verdict": "runs", "judge": 2, "config_hash": "a1031df3bb3b8db6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=icosphere-642 -o stage__GraspNet-baseline__view__icosphere-642.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__icosphere-642.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1020722, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.891, 0.4554], "loss/score": [0.04913, 0.03101], "loss/angle": [0.5165, 0.4326], "loss/width": [0.4565, 0.1902], "loss/tolerance": [1.376, 0.5581], "loss": [4.289, 1.667]}, "trend": {"loss/view": [1.891, 0.4175, 0.779], "loss/score": [0.04913, 0.0375, 0.237], "loss/angle": [0.5165, 0.4482, 0.132], "loss/width": [0.4565, 0.2466, 0.46], "loss/tolerance": [1.376, 0.5504, 0.6], "loss": [4.289, 1.7, 0.604]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-54.18, -0.3757, 38.64], [-64.31, 0.1568, 46.08]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.278, "peak_gpu_mib": 3967.9, "seconds": 13.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/icosphere-642", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=icosphere-642"], "slot": "view", "component": "IcosphereViewStage", "variant": "icosphere-642", "verdict": "runs", "judge": 2, "config_hash": "bbaad110d4661188", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=icosphere-642 -o stage__Scale-Balanced-Grasp__view__icosphere-642.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__icosphere-642.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1571954, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.29, 0.2915], "loss/score": [0.04171, 0.02431], "loss/angle": [0.5061, 0.462], "loss/width": [0.5186, 0.2247], "loss/tolerance": [0.748, 0.3494], "loss": [14.11, 1.352]}, "trend": {"loss/view": [12.29, 0.2481, 0.98], "loss/score": [0.04171, 0.02584, 0.38], "loss/angle": [0.5061, 0.4591, 0.093], "loss/width": [0.5186, 0.2023, 0.61], "loss/tolerance": [0.748, 0.3572, 0.522], "loss": [14.11, 1.293, 0.908]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-32.23, 0.3369, 25.36], [-31.54, 0.2936, 12.19]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.443, "peak_gpu_mib": 9612.3, "seconds": 16.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/lattice-angular-cost", "group": "stage", "method": "GSNet", "sets": ["view=lattice-angular-cost"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-angular-cost", "verdict": "runs", "judge": 2, "config_hash": "5f1dc269353d8f56", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=lattice-angular-cost -o stage__GSNet__view__lattice-angular-cost.yaml", "probe": "grasppanda probe stage__GSNet__view__lattice-angular-cost.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 898], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5832], "loss/graspness": [5.176, 0.4274], "loss/view": [5.782, 4.344], "loss/view_angular": [0.5011, 0.2407], "loss/score": [1.516, 0.1329], "loss/width": [4.151, 0.1329], "loss": [17.91, 5.861]}, "trend": {"loss/objectness": [0.7893, 0.6106, 0.226], "loss/graspness": [5.176, 0.4025, 0.922], "loss/view": [5.782, 4.715, 0.185], "loss/view_angular": [0.5011, 0.2898, 0.422], "loss/score": [1.516, 0.1116, 0.926], "loss/width": [4.151, 0.1769, 0.957], "loss": [17.91, 6.306, 0.648]}, "real_seeds": {"min": 0.385, "mean": 0.917, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09208, 0.1618, 0.2632], [0.1056, 0.1644, 0.2597]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 1841.8, "seconds": 30.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/lattice-angular-cost", "group": "stage", "method": "EconomicGrasp", "sets": ["view=lattice-angular-cost"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-angular-cost", "verdict": "runs", "judge": 2, "config_hash": "20827ad5f4dcc481", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=lattice-angular-cost -o stage__EconomicGrasp__view__lattice-angular-cost.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__lattice-angular-cost.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5903], "loss/graspness": [5.216, 0.2731], "loss/view": [5.765, 4.939], "loss/view_angular": [0.5002, 0.3291], "loss/angle": [3.312, 2.046], "loss/depth": [2.219, 0.9053], "loss/score": [2.158, 1.571], "loss/width": [8.332, 0.472], "loss": [28.29, 11.13]}, "trend": {"loss/objectness": [0.7845, 0.5944, 0.242], "loss/graspness": [5.216, 0.3238, 0.938], "loss/view": [5.765, 5.031, 0.127], "loss/view_angular": [0.5002, 0.3158, 0.369], "loss/angle": [3.312, 2.027, 0.388], "loss/depth": [2.219, 0.9869, 0.555], "loss/score": [2.158, 1.64, 0.24], "loss/width": [8.332, 0.4463, 0.946], "loss": [28.29, 11.37, 0.598]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.142, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.415, -1.073, -0.803], [-1.584, -1.142, -0.7597]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.855, "peak_gpu_mib": 2066.6, "seconds": 41.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/lattice-angular-cost", "group": "stage", "method": "FineGrasp", "sets": ["view=lattice-angular-cost"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-angular-cost", "verdict": "runs", "judge": 2, "config_hash": "852eb15c59f90e55", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=lattice-angular-cost -o stage__FineGrasp__view__lattice-angular-cost.yaml", "probe": "grasppanda probe stage__FineGrasp__view__lattice-angular-cost.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.604], "loss/graspness": [2.473, 0.2758], "loss/view": [5.778, 5.002], "loss/view_angular": [0.5013, 0.3107], "loss/angle": [1.364, 2.012], "loss/depth": [2.061, 1.042], "loss/score": [2.589, 1.635], "loss/width": [4.389, 0.5244], "loss": [19.96, 11.41]}, "trend": {"loss/objectness": [0.8058, 0.6216, 0.229], "loss/graspness": [2.473, 0.2783, 0.887], "loss/view": [5.778, 4.965, 0.141], "loss/view_angular": [0.5013, 0.3389, 0.324], "loss/angle": [1.364, 1.936, -0.42], "loss/depth": [2.061, 0.9814, 0.524], "loss/score": [2.589, 1.59, 0.386], "loss/width": [4.389, 0.5774, 0.868], "loss": [19.96, 11.29, 0.435]}, "real_seeds": {"min": 0.735, "mean": 0.978, "zero_iterations": 0}, "supervised_seeds": {"min": 0.022, "mean": 0.132, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.01079, 0.01093, 0.01111], [0.01079, 0.01093, 0.01129]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.638, "peak_gpu_mib": 11643.9, "seconds": 74.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/lattice-angular-cost", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=lattice-angular-cost"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-angular-cost", "verdict": "runs", "judge": 2, "config_hash": "f9d4feaf6709a32d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=lattice-angular-cost -o stage__GraspNet-baseline__view__lattice-angular-cost.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__lattice-angular-cost.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [5.753, 4.81], "loss/view_angular": [0.503, 0.2241], "loss/score": [0.06025, 0.03698], "loss/angle": [0.5091, 0.4131], "loss/width": [0.64, 0.1703], "loss/tolerance": [1.407, 0.3526], "loss": [8.872, 6.007]}, "trend": {"loss/view": [5.753, 5.05, 0.122], "loss/view_angular": [0.503, 0.2505, 0.502], "loss/score": [0.06025, 0.03085, 0.488], "loss/angle": [0.5091, 0.3981, 0.218], "loss/width": [0.64, 0.1726, 0.73], "loss/tolerance": [1.407, 0.3888, 0.724], "loss": [8.872, 6.29, 0.291]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-37.96, -0.01077, 20.98], [-19.12, 0.1124, 18.39]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.28, "peak_gpu_mib": 3964.6, "seconds": 12.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/lattice-angular-cost", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=lattice-angular-cost"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-angular-cost", "verdict": "runs", "judge": 2, "config_hash": "5cdd151671850deb", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=lattice-angular-cost -o stage__Scale-Balanced-Grasp__view__lattice-angular-cost.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__lattice-angular-cost.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1484060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [5.863, 5.052], "loss/view_angular": [0.501, 0.3112], "loss/score": [0.05139, 0.03152], "loss/angle": [0.5464, 0.4728], "loss/width": [0.3532, 0.2081], "loss/tolerance": [1.237, 0.4953], "loss": [8.552, 6.571]}, "trend": {"loss/view": [5.863, 5.227, 0.109], "loss/view_angular": [0.501, 0.3173, 0.367], "loss/score": [0.05139, 0.02763, 0.462], "loss/angle": [0.5464, 0.4706, 0.139], "loss/width": [0.3532, 0.2161, 0.388], "loss/tolerance": [1.237, 0.4893, 0.604], "loss": [8.552, 6.747, 0.211]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-24.09, 0.9288, 62.82], [-23.64, 0.4577, 59.37]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.515, "peak_gpu_mib": 9608.3, "seconds": 17.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/lattice-best-view", "group": "stage", "method": "GSNet", "sets": ["view=lattice-best-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-best-view", "verdict": "runs", "judge": 2, "config_hash": "1bbcfa87b1270aad", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=lattice-best-view -o stage__GSNet__view__lattice-best-view.yaml", "probe": "grasppanda probe stage__GSNet__view__lattice-best-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 893], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5743], "loss/graspness": [5.176, 0.3935], "loss/view": [5.782, 4.429], "loss/score": [1.516, 0.1326], "loss/width": [4.151, 0.1753], "loss": [17.41, 5.704]}, "trend": {"loss/objectness": [0.7893, 0.6094, 0.228], "loss/graspness": [5.176, 0.3862, 0.925], "loss/view": [5.782, 4.793, 0.171], "loss/score": [1.516, 0.1192, 0.921], "loss/width": [4.151, 0.1972, 0.952], "loss": [17.41, 6.105, 0.649]}, "real_seeds": {"min": 0.425, "mean": 0.926, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1114, 0.1653, 0.2751], [0.1083, 0.1705, 0.2635]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.523, "peak_gpu_mib": 1841.8, "seconds": 33.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/lattice-best-view", "group": "stage", "method": "EconomicGrasp", "sets": ["view=lattice-best-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-best-view", "verdict": "runs", "judge": 2, "config_hash": "231dc5c47fd2aa77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=lattice-best-view -o stage__EconomicGrasp__view__lattice-best-view.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__lattice-best-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.608], "loss/graspness": [5.216, 0.3015], "loss/view": [5.765, 4.942], "loss/angle": [3.312, 2.003], "loss/depth": [2.219, 0.9292], "loss/score": [2.158, 1.573], "loss/width": [8.332, 0.5113], "loss": [27.79, 10.87]}, "trend": {"loss/objectness": [0.7845, 0.6059, 0.228], "loss/graspness": [5.216, 0.3346, 0.936], "loss/view": [5.765, 5.015, 0.13], "loss/angle": [3.312, 2.011, 0.393], "loss/depth": [2.219, 0.9852, 0.556], "loss/score": [2.158, 1.638, 0.241], "loss/width": [8.332, 0.4603, 0.945], "loss": [27.79, 11.05, 0.602]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.56, -1.097, -0.768], [-1.419, -1.127, -0.851]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.167, "peak_gpu_mib": 2067.4, "seconds": 32.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/lattice-best-view", "group": "stage", "method": "FineGrasp", "sets": ["view=lattice-best-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-best-view", "verdict": "runs", "judge": 2, "config_hash": "96de9a2f76c85cb9", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=lattice-best-view -o stage__FineGrasp__view__lattice-best-view.yaml", "probe": "grasppanda probe stage__FineGrasp__view__lattice-best-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5954], "loss/graspness": [2.473, 0.2683], "loss/view": [5.778, 4.962], "loss/angle": [1.364, 1.988], "loss/depth": [2.061, 0.9773], "loss/score": [2.589, 1.609], "loss/width": [4.389, 0.4824], "loss": [19.46, 10.88]}, "trend": {"loss/objectness": [0.8058, 0.6153, 0.236], "loss/graspness": [2.473, 0.2711, 0.89], "loss/view": [5.778, 4.936, 0.146], "loss/angle": [1.364, 1.908, -0.399], "loss/depth": [2.061, 0.9458, 0.541], "loss/score": [2.589, 1.564, 0.396], "loss/width": [4.389, 0.5779, 0.868], "loss": [19.46, 10.82, 0.444]}, "real_seeds": {"min": 0.722, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 0.022, "mean": 0.123, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.2326, -0.2324, -0.2323], [-0.2326, -0.2324, -0.2322]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.703, "peak_gpu_mib": 11643.9, "seconds": 73.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/lattice-best-view", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=lattice-best-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-best-view", "verdict": "runs", "judge": 2, "config_hash": "b7ebabd126bb0a00", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=lattice-best-view -o stage__GraspNet-baseline__view__lattice-best-view.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__lattice-best-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [5.753, 4.79], "loss/score": [0.06025, 0.03443], "loss/angle": [0.5091, 0.4303], "loss/width": [0.64, 0.2228], "loss/tolerance": [1.407, 0.3072], "loss": [8.369, 5.785]}, "trend": {"loss/view": [5.753, 4.993, 0.132], "loss/score": [0.06025, 0.03015, 0.5], "loss/angle": [0.5091, 0.4019, 0.211], "loss/width": [0.64, 0.1829, 0.714], "loss/tolerance": [1.407, 0.3787, 0.731], "loss": [8.369, 5.987, 0.285]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-26.97, -0.4714, 23.07], [-30.92, -0.5805, 22.01]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.307, "peak_gpu_mib": 3964.6, "seconds": 14.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/lattice-best-view", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=lattice-best-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-best-view", "verdict": "runs", "judge": 2, "config_hash": "8ac0826517d57ef5", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=lattice-best-view -o stage__Scale-Balanced-Grasp__view__lattice-best-view.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__lattice-best-view.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1484060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [5.863, 5.07], "loss/score": [0.05139, 0.03158], "loss/angle": [0.5464, 0.4631], "loss/width": [0.3532, 0.1724], "loss/tolerance": [1.237, 0.4421], "loss": [8.051, 6.179]}, "trend": {"loss/view": [5.863, 5.204, 0.112], "loss/score": [0.05139, 0.03022, 0.412], "loss/angle": [0.5464, 0.46, 0.158], "loss/width": [0.3532, 0.226, 0.36], "loss/tolerance": [1.237, 0.4781, 0.613], "loss": [8.051, 6.398, 0.205]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-25.97, 0.4494, 40.64], [-29.82, -0.2199, 41.05]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.523, "peak_gpu_mib": 9608.3, "seconds": 17.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/lattice-fibonacci-120", "group": "stage", "method": "GSNet", "sets": ["view=lattice-fibonacci-120"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-fibonacci-120", "verdict": "runs", "judge": 2, "config_hash": "c561818ab3dd4fec", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=lattice-fibonacci-120 -o stage__GSNet__view__lattice-fibonacci-120.yaml", "probe": "grasppanda probe stage__GSNet__view__lattice-fibonacci-120.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15261435, "iterations": 20, "batch_size": 4, "grasps_per_frame": [895, 839], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6625], "loss/graspness": [5.176, 0.3908], "loss/view": [6.047, 0.9023], "loss/score": [1.184, 0.09115], "loss/width": [2.651, 0.2706], "loss": [15.85, 2.317]}, "trend": {"loss/objectness": [0.7893, 0.627, 0.206], "loss/graspness": [5.176, 0.3419, 0.934], "loss/view": [6.047, 0.6116, 0.899], "loss/score": [1.184, 0.09565, 0.919], "loss/width": [2.651, 0.2273, 0.914], "loss": [15.85, 1.904, 0.88]}, "real_seeds": {"min": 0.658, "mean": 0.949, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.06362, 0.1152, 0.2201], [0.06282, 0.1106, 0.2067]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.207, "peak_gpu_mib": 1837.1, "seconds": 30.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/lattice-fibonacci-120", "group": "stage", "method": "EconomicGrasp", "sets": ["view=lattice-fibonacci-120"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-fibonacci-120", "verdict": "runs", "judge": 2, "config_hash": "9c2327ab5956c50d", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=lattice-fibonacci-120 -o stage__EconomicGrasp__view__lattice-fibonacci-120.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__lattice-fibonacci-120.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15657898, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5283], "loss/graspness": [5.216, 0.2791], "loss/view": [6.47, 0.8867], "loss/angle": [2.411, 0.7174], "loss/depth": [1.522, 0.3769], "loss/score": [1.628, 0.6272], "loss/width": [0.9494, 0.7307], "loss": [18.98, 4.146]}, "trend": {"loss/objectness": [0.7845, 0.5337, 0.32], "loss/graspness": [5.216, 0.3024, 0.942], "loss/view": [6.47, 0.8902, 0.862], "loss/angle": [2.411, 0.7898, 0.672], "loss/depth": [1.522, 0.4215, 0.723], "loss/score": [1.628, 0.6707, 0.588], "loss/width": [0.9494, 0.7827, 0.176], "loss": [18.98, 4.391, 0.769]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.097, "mean": 0.141, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.166, -0.7612, -0.4786], [-1.184, -0.7919, -0.3954]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.495, "peak_gpu_mib": 2058.7, "seconds": 42.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/lattice-fibonacci-120", "group": "stage", "method": "FineGrasp", "sets": ["view=lattice-fibonacci-120"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-fibonacci-120", "verdict": "runs", "judge": 2, "config_hash": "2cfcc8f194036d30", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=lattice-fibonacci-120 -o stage__FineGrasp__view__lattice-fibonacci-120.yaml", "probe": "grasppanda probe stage__FineGrasp__view__lattice-fibonacci-120.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19053101, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6265], "loss/graspness": [2.473, 0.2754], "loss/view": [5.289, 0.8302], "loss/angle": [2.81, 1.113], "loss/depth": [1.687, 0.5627], "loss/score": [1.448, 0.9333], "loss/width": [3.24, 0.7404], "loss": [17.75, 5.081]}, "trend": {"loss/objectness": [0.8058, 0.6428, 0.202], "loss/graspness": [2.473, 0.2877, 0.884], "loss/view": [5.289, 0.8165, 0.846], "loss/angle": [2.81, 1.067, 0.62], "loss/depth": [1.687, 0.5525, 0.672], "loss/score": [1.448, 0.9104, 0.371], "loss/width": [3.24, 0.7551, 0.767], "loss": [17.75, 5.032, 0.717]}, "real_seeds": {"min": 0.82, "mean": 0.983, "zero_iterations": 0}, "supervised_seeds": {"min": 0.021, "mean": 0.123, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.555, -2.555, -2.555], [-2.555, -2.555, -2.555]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.636, "peak_gpu_mib": 11633.7, "seconds": 76.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/lattice-fibonacci-120", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=lattice-fibonacci-120"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-fibonacci-120", "verdict": "runs", "judge": 2, "config_hash": "dfb5fb11cb977f3c", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=lattice-fibonacci-120 -o stage__GraspNet-baseline__view__lattice-fibonacci-120.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__lattice-fibonacci-120.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 886568, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [2.142, 0.5266], "loss/score": [0.06961, 0.03354], "loss/angle": [0.5163, 0.4759], "loss/width": [0.4501, 0.2061], "loss/tolerance": [1.137, 0.4367], "loss": [4.315, 1.679]}, "trend": {"loss/view": [2.142, 0.4885, 0.772], "loss/score": [0.06961, 0.03112, 0.553], "loss/angle": [0.5163, 0.4559, 0.117], "loss/width": [0.4501, 0.2176, 0.517], "loss/tolerance": [1.137, 0.4506, 0.604], "loss": [4.315, 1.644, 0.619]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-15.22, 0.5429, 18.54], [-18.27, 0.4233, 23.51]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.289, "peak_gpu_mib": 3962.3, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/lattice-fibonacci-120", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=lattice-fibonacci-120"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-fibonacci-120", "verdict": "runs", "judge": 2, "config_hash": "09db01c8d7af6fc1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=lattice-fibonacci-120 -o stage__Scale-Balanced-Grasp__view__lattice-fibonacci-120.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__lattice-fibonacci-120.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1437800, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.0, 0.3465], "loss/score": [0.03191, 0.01976], "loss/angle": [0.5137, 0.4919], "loss/width": [0.5647, 0.1785], "loss/tolerance": [0.8917, 0.4419], "loss": [14.0, 1.479]}, "trend": {"loss/view": [12.0, 0.2959, 0.975], "loss/score": [0.03191, 0.0191, 0.401], "loss/angle": [0.5137, 0.455, 0.114], "loss/width": [0.5647, 0.1852, 0.672], "loss/tolerance": [0.8917, 0.4292, 0.519], "loss": [14.0, 1.384, 0.901]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-20.11, -0.8067, 10.45], [-25.01, -2.966, 10.12]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.531, "peak_gpu_mib": 9605.6, "seconds": 17.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/lattice-hemisphere-60", "group": "stage", "method": "GSNet", "sets": ["view=lattice-hemisphere-60"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-hemisphere-60", "verdict": "runs", "judge": 2, "config_hash": "b23d8cc9df812bdb", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=lattice-hemisphere-60 -o stage__GSNet__view__lattice-hemisphere-60.yaml", "probe": "grasppanda probe stage__GSNet__view__lattice-hemisphere-60.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15230655, "iterations": 20, "batch_size": 4, "grasps_per_frame": [671, 662], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5856], "loss/graspness": [5.176, 0.298], "loss/view": [6.273, 1.001], "loss/score": [1.439, 0.06323], "loss/width": [2.433, 0.16], "loss": [16.11, 2.107]}, "trend": {"loss/objectness": [0.7893, 0.6142, 0.222], "loss/graspness": [5.176, 0.298, 0.942], "loss/view": [6.273, 0.7707, 0.877], "loss/score": [1.439, 0.07077, 0.951], "loss/width": [2.433, 0.1784, 0.927], "loss": [16.11, 1.932, 0.88]}, "real_seeds": {"min": 0.812, "mean": 0.987, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07313, 0.1159, 0.211], [0.07038, 0.1179, 0.2338]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.223, "peak_gpu_mib": 1834.9, "seconds": 33.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/lattice-hemisphere-60", "group": "stage", "method": "EconomicGrasp", "sets": ["view=lattice-hemisphere-60"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-hemisphere-60", "verdict": "runs", "judge": 2, "config_hash": "87186571bfda30c1", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=lattice-hemisphere-60 -o stage__EconomicGrasp__view__lattice-hemisphere-60.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__lattice-hemisphere-60.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15627118, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.607], "loss/graspness": [5.216, 0.2558], "loss/view": [7.102, 1.535], "loss/angle": [3.195, 1.207], "loss/depth": [1.9, 0.5651], "loss/score": [1.776, 0.9841], "loss/width": [1.448, 0.7968], "loss": [21.42, 5.951]}, "trend": {"loss/objectness": [0.7845, 0.602, 0.233], "loss/graspness": [5.216, 0.2882, 0.945], "loss/view": [7.102, 1.622, 0.772], "loss/angle": [3.195, 1.263, 0.605], "loss/depth": [1.9, 0.6415, 0.662], "loss/score": [1.776, 1.023, 0.424], "loss/width": [1.448, 0.9256, 0.361], "loss": [21.42, 6.366, 0.703]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.148, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.229, -1.967, -1.677], [-2.19, -1.959, -1.457]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.202, "peak_gpu_mib": 2057.3, "seconds": 31.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/lattice-hemisphere-60", "group": "stage", "method": "FineGrasp", "sets": ["view=lattice-hemisphere-60"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-hemisphere-60", "verdict": "runs", "judge": 2, "config_hash": "7992cabac4018e36", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=lattice-hemisphere-60 -o stage__FineGrasp__view__lattice-hemisphere-60.yaml", "probe": "grasppanda probe stage__FineGrasp__view__lattice-hemisphere-60.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19022321, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6341], "loss/graspness": [2.473, 0.2603], "loss/view": [5.793, 1.538], "loss/angle": [3.296, 1.39], "loss/depth": [0.9607, 0.7395], "loss/score": [2.084, 1.167], "loss/width": [9.958, 0.787], "loss": [25.37, 6.516]}, "trend": {"loss/objectness": [0.8058, 0.6398, 0.206], "loss/graspness": [2.473, 0.2667, 0.892], "loss/view": [5.793, 1.439, 0.752], "loss/angle": [3.296, 1.373, 0.583], "loss/depth": [0.9607, 0.7224, 0.248], "loss/score": [2.084, 1.141, 0.453], "loss/width": [9.958, 0.7663, 0.923], "loss": [25.37, 6.348, 0.75]}, "real_seeds": {"min": 0.299, "mean": 0.909, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.129, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.681, -1.681, -1.681], [-1.681, -1.681, -1.681]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.637, "peak_gpu_mib": 11633.3, "seconds": 74.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/lattice-hemisphere-60", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=lattice-hemisphere-60"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-hemisphere-60", "verdict": "runs", "judge": 2, "config_hash": "b141eb84955e80ae", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=lattice-hemisphere-60 -o stage__GraspNet-baseline__view__lattice-hemisphere-60.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__lattice-hemisphere-60.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 871148, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [2.633, 0.9951], "loss/score": [0.06982, 0.02958], "loss/angle": [0.5033, 0.4392], "loss/width": [0.4807, 0.1539], "loss/tolerance": [1.14, 0.3769], "loss": [4.826, 1.995]}, "trend": {"loss/view": [2.633, 0.8728, 0.669], "loss/score": [0.06982, 0.02703, 0.613], "loss/angle": [0.5033, 0.4357, 0.134], "loss/width": [0.4807, 0.1624, 0.662], "loss/tolerance": [1.14, 0.3765, 0.67], "loss": [4.826, 1.874, 0.612]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-12.82, 0.3482, 16.3], [-18.76, 0.2365, 39.73]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.323, "peak_gpu_mib": 3961.6, "seconds": 14.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/lattice-hemisphere-60", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=lattice-hemisphere-60"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-hemisphere-60", "verdict": "runs", "judge": 2, "config_hash": "91fb2a89d0c4302e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=lattice-hemisphere-60 -o stage__Scale-Balanced-Grasp__view__lattice-hemisphere-60.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__lattice-hemisphere-60.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1422380, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.59, 0.6232], "loss/score": [0.0366, 0.01818], "loss/angle": [0.5295, 0.4583], "loss/width": [0.5747, 0.1052], "loss/tolerance": [1.137, 0.2653], "loss": [14.87, 1.47]}, "trend": {"loss/view": [12.59, 0.5207, 0.959], "loss/score": [0.0366, 0.01787, 0.512], "loss/angle": [0.5295, 0.46, 0.131], "loss/width": [0.5747, 0.1246, 0.783], "loss/tolerance": [1.137, 0.3186, 0.72], "loss": [14.87, 1.442, 0.903]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-11.3, 1.688, 36.1], [-8.163, 1.23, 39.34]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.51, "peak_gpu_mib": 9605.0, "seconds": 17.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/lattice-soft-argmax", "group": "stage", "method": "GSNet", "sets": ["view=lattice-soft-argmax"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-soft-argmax", "verdict": "runs", "judge": 2, "config_hash": "dfdad8c4217e3e79", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=lattice-soft-argmax -o stage__GSNet__view__lattice-soft-argmax.yaml", "probe": "grasppanda probe stage__GSNet__view__lattice-soft-argmax.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [412, 445], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5864], "loss/graspness": [5.176, 0.4218], "loss/view": [6.291, 0.5506], "loss/score": [1.515, 0.08898], "loss/width": [3.654, 0.4988], "loss": [17.43, 2.147]}, "trend": {"loss/objectness": [0.7893, 0.5983, 0.242], "loss/graspness": [5.176, 0.3673, 0.929], "loss/view": [6.291, 0.4241, 0.933], "loss/score": [1.515, 0.09184, 0.939], "loss/width": [3.654, 0.303, 0.917], "loss": [17.43, 1.785, 0.898]}, "real_seeds": {"min": 0.302, "mean": 0.899, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1054, 0.1862, 0.2619], [0.1001, 0.1702, 0.3199]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.212, "peak_gpu_mib": 1841.5, "seconds": 30.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/lattice-soft-argmax", "group": "stage", "method": "EconomicGrasp", "sets": ["view=lattice-soft-argmax"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-soft-argmax", "verdict": "runs", "judge": 2, "config_hash": "b5007cd0d62ab728", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=lattice-soft-argmax -o stage__EconomicGrasp__view__lattice-soft-argmax.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__lattice-soft-argmax.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6305], "loss/graspness": [5.216, 0.2776], "loss/view": [6.545, 0.6809], "loss/angle": [3.303, 0.743], "loss/depth": [2.236, 0.4245], "loss/score": [2.117, 0.6344], "loss/width": [8.756, 0.6262], "loss": [28.96, 4.017]}, "trend": {"loss/objectness": [0.7845, 0.622, 0.207], "loss/graspness": [5.216, 0.3384, 0.935], "loss/view": [6.545, 0.7099, 0.892], "loss/angle": [3.303, 0.754, 0.772], "loss/depth": [2.236, 0.4292, 0.808], "loss/score": [2.117, 0.643, 0.696], "loss/width": [8.756, 0.6861, 0.922], "loss": [28.96, 4.183, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.541, -3.314, -3.015], [-3.629, -3.359, -2.302]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.485, "peak_gpu_mib": 2067.4, "seconds": 40.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/lattice-soft-argmax", "group": "stage", "method": "FineGrasp", "sets": ["view=lattice-soft-argmax"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-soft-argmax", "verdict": "runs", "judge": 2, "config_hash": "d1d7ee33df0a1943", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=lattice-soft-argmax -o stage__FineGrasp__view__lattice-soft-argmax.yaml", "probe": "grasppanda probe stage__FineGrasp__view__lattice-soft-argmax.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6189], "loss/graspness": [2.473, 0.2638], "loss/view": [5.497, 0.6163], "loss/angle": [1.429, 0.9755], "loss/depth": [2.039, 0.524], "loss/score": [2.563, 0.8447], "loss/width": [4.953, 0.7993], "loss": [19.76, 4.642]}, "trend": {"loss/objectness": [0.8058, 0.627, 0.222], "loss/graspness": [2.473, 0.275, 0.889], "loss/view": [5.497, 0.6068, 0.89], "loss/angle": [1.429, 1.041, 0.272], "loss/depth": [2.039, 0.547, 0.732], "loss/score": [2.563, 0.8751, 0.659], "loss/width": [4.953, 0.8148, 0.835], "loss": [19.76, 4.787, 0.758]}, "real_seeds": {"min": 0.548, "mean": 0.956, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.445, -1.445, -1.444], [-1.445, -1.445, -1.444]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.625, "peak_gpu_mib": 11672.5, "seconds": 73.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/lattice-soft-argmax", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=lattice-soft-argmax"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-soft-argmax", "verdict": "runs", "judge": 2, "config_hash": "889301e4d5ae6fa4", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=lattice-soft-argmax -o stage__GraspNet-baseline__view__lattice-soft-argmax.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__lattice-soft-argmax.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.925, 0.4542], "loss/score": [0.06295, 0.0292], "loss/angle": [0.4744, 0.4438], "loss/width": [0.6528, 0.2131], "loss/tolerance": [1.294, 0.593], "loss": [4.409, 1.733]}, "trend": {"loss/view": [1.925, 0.4164, 0.784], "loss/score": [0.06295, 0.02922, 0.536], "loss/angle": [0.4744, 0.4429, 0.066], "loss/width": [0.6528, 0.2149, 0.671], "loss/tolerance": [1.294, 0.5377, 0.585], "loss": [4.409, 1.641, 0.628]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-9.938, 0.8006, 35.35], [-10.89, 0.4246, 27.51]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.324, "peak_gpu_mib": 3964.2, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/lattice-soft-argmax", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=lattice-soft-argmax"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-soft-argmax", "verdict": "runs", "judge": 2, "config_hash": "444aefdc1a9d53a2", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=lattice-soft-argmax -o stage__Scale-Balanced-Grasp__view__lattice-soft-argmax.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__lattice-soft-argmax.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1484060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.3, 0.2966], "loss/score": [0.07, 0.02492], "loss/angle": [0.4933, 0.4816], "loss/width": [0.4659, 0.1804], "loss/tolerance": [0.8858, 0.4185], "loss": [14.22, 1.402]}, "trend": {"loss/view": [12.3, 0.2551, 0.979], "loss/score": [0.07, 0.02379, 0.66], "loss/angle": [0.4933, 0.4647, 0.058], "loss/width": [0.4659, 0.2198, 0.528], "loss/tolerance": [0.8858, 0.4596, 0.481], "loss": [14.22, 1.423, 0.9]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-27.36, 1.472, 40.38], [-26.47, 0.34, 54.48]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.57, "peak_gpu_mib": 9608.6, "seconds": 18.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/lattice-topk", "group": "stage", "method": "GSNet", "sets": ["view=lattice-topk"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-topk", "verdict": "runs", "judge": 2, "config_hash": "9cd8c15223aa6d99", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=lattice-topk -o stage__GSNet__view__lattice-topk.yaml", "probe": "grasppanda probe stage__GSNet__view__lattice-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [701, 779], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5695], "loss/graspness": [5.176, 0.3999], "loss/view": [6.291, 0.8109], "loss/score": [1.513, 0.1144], "loss/width": [3.884, 0.1347], "loss": [17.65, 2.029]}, "trend": {"loss/objectness": [0.7893, 0.5913, 0.251], "loss/graspness": [5.176, 0.3775, 0.927], "loss/view": [6.291, 0.5557, 0.912], "loss/score": [1.513, 0.0998, 0.934], "loss/width": [3.884, 0.2214, 0.943], "loss": [17.65, 1.846, 0.895]}, "real_seeds": {"min": 0.536, "mean": 0.927, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09592, 0.1562, 0.2223], [0.1095, 0.1764, 0.2793]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.191, "peak_gpu_mib": 1841.5, "seconds": 33.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/lattice-topk", "group": "stage", "method": "EconomicGrasp", "sets": ["view=lattice-topk"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-topk", "verdict": "runs", "judge": 2, "config_hash": "6d1aa82fa93a9989", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=lattice-topk -o stage__EconomicGrasp__view__lattice-topk.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__lattice-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6147], "loss/graspness": [5.216, 0.2932], "loss/view": [6.545, 0.6804], "loss/angle": [3.272, 1.277], "loss/depth": [2.222, 0.6985], "loss/score": [2.121, 1.092], "loss/width": [8.591, 0.7935], "loss": [28.75, 5.449]}, "trend": {"loss/objectness": [0.7845, 0.6142, 0.217], "loss/graspness": [5.216, 0.3279, 0.937], "loss/view": [6.545, 0.7058, 0.892], "loss/angle": [3.272, 1.223, 0.626], "loss/depth": [2.222, 0.6668, 0.7], "loss/score": [2.121, 1.031, 0.514], "loss/width": [8.591, 0.7849, 0.909], "loss": [28.75, 5.353, 0.814]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.822, -2.582, -2.292], [-2.846, -2.616, -2.264]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.158, "peak_gpu_mib": 2067.4, "seconds": 31.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/lattice-topk", "group": "stage", "method": "FineGrasp", "sets": ["view=lattice-topk"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-topk", "verdict": "runs", "judge": 2, "config_hash": "3d3e9574c5e3f57c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=lattice-topk -o stage__FineGrasp__view__lattice-topk.yaml", "probe": "grasppanda probe stage__FineGrasp__view__lattice-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6492], "loss/graspness": [2.473, 0.3328], "loss/view": [5.497, 0.6384], "loss/angle": [1.394, 1.931], "loss/depth": [2.071, 0.9967], "loss/score": [2.589, 1.555], "loss/width": [4.596, 0.6835], "loss": [19.43, 6.787]}, "trend": {"loss/objectness": [0.8058, 0.6586, 0.183], "loss/graspness": [2.473, 0.343, 0.861], "loss/view": [5.497, 0.664, 0.879], "loss/angle": [1.394, 1.951, -0.4], "loss/depth": [2.071, 1.006, 0.514], "loss/score": [2.589, 1.585, 0.388], "loss/width": [4.596, 0.6288, 0.863], "loss": [19.43, 6.838, 0.648]}, "flags": {"loss/angle": ["rising"], "loss/depth": ["rising"], "loss/score": ["rising"]}, "real_seeds": {"min": 0.028, "mean": 0.833, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.3765, 0.3765, 0.3766], [0.3765, 0.3765, 0.3766]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.644, "peak_gpu_mib": 11672.5, "seconds": 76.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/lattice-topk", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=lattice-topk"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-topk", "verdict": "runs", "judge": 2, "config_hash": "f5421e6950fec122", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=lattice-topk -o stage__GraspNet-baseline__view__lattice-topk.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__lattice-topk.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.925, 0.4525], "loss/score": [0.05215, 0.0348], "loss/angle": [0.5117, 0.4422], "loss/width": [0.6326, 0.1804], "loss/tolerance": [1.313, 0.3586], "loss": [4.434, 1.469]}, "trend": {"loss/view": [1.925, 0.4154, 0.784], "loss/score": [0.05215, 0.02974, 0.43], "loss/angle": [0.5117, 0.4331, 0.154], "loss/width": [0.6326, 0.1836, 0.71], "loss/tolerance": [1.313, 0.4277, 0.674], "loss": [4.434, 1.49, 0.664]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-11.03, -0.04427, 28.94], [-11.04, -0.1248, 17.28]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.326, "peak_gpu_mib": 3964.2, "seconds": 14.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/lattice-topk", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=lattice-topk"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-topk", "verdict": "runs", "judge": 2, "config_hash": "2b0fae2538856052", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=lattice-topk -o stage__Scale-Balanced-Grasp__view__lattice-topk.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__lattice-topk.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1484060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.3, 0.2962], "loss/score": [0.063, 0.02977], "loss/angle": [0.515, 0.4312], "loss/width": [0.4362, 0.2072], "loss/tolerance": [1.121, 0.4086], "loss": [14.44, 1.373]}, "trend": {"loss/view": [12.3, 0.255, 0.979], "loss/score": [0.063, 0.02289, 0.637], "loss/angle": [0.515, 0.4555, 0.115], "loss/width": [0.4362, 0.2444, 0.44], "loss/tolerance": [1.121, 0.4946, 0.559], "loss": [14.44, 1.472, 0.898]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-32.27, 0.2053, 17.98], [-33.72, 0.004394, 23.95]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.54, "peak_gpu_mib": 9608.6, "seconds": 18.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/lattice-view", "group": "stage", "method": "GSNet", "sets": ["view=lattice-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-view", "verdict": "runs", "judge": 2, "config_hash": "f320be43398f1d72", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=lattice-view -o stage__GSNet__view__lattice-view.yaml", "probe": "grasppanda probe stage__GSNet__view__lattice-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [338, 340], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5762], "loss/graspness": [5.176, 0.4227], "loss/view": [6.291, 0.4715], "loss/score": [1.515, 0.08502], "loss/width": [3.654, 0.215], "loss": [17.43, 1.77]}, "trend": {"loss/objectness": [0.7893, 0.5932, 0.248], "loss/graspness": [5.176, 0.3715, 0.928], "loss/view": [6.291, 0.4092, 0.935], "loss/score": [1.515, 0.09033, 0.94], "loss/width": [3.654, 0.2224, 0.939], "loss": [17.43, 1.687, 0.903]}, "real_seeds": {"min": 0.336, "mean": 0.906, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1065, 0.1569, 0.2222], [0.1127, 0.1608, 0.2803]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.318, "peak_gpu_mib": 1841.5, "seconds": 30.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/lattice-view", "group": "stage", "method": "EconomicGrasp", "sets": ["view=lattice-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-view", "verdict": "runs", "judge": 2, "config_hash": "1e96d82c2ac89877", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=lattice-view -o stage__EconomicGrasp__view__lattice-view.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__lattice-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6205], "loss/graspness": [5.216, 0.2825], "loss/view": [6.545, 0.6802], "loss/angle": [3.303, 0.6724], "loss/depth": [2.236, 0.3502], "loss/score": [2.117, 0.5999], "loss/width": [8.756, 0.7519], "loss": [28.96, 3.958]}, "trend": {"loss/objectness": [0.7845, 0.6135, 0.218], "loss/graspness": [5.216, 0.339, 0.935], "loss/view": [6.545, 0.7122, 0.891], "loss/angle": [3.303, 0.7675, 0.768], "loss/depth": [2.236, 0.4298, 0.808], "loss/score": [2.117, 0.658, 0.689], "loss/width": [8.756, 0.725, 0.917], "loss": [28.96, 4.245, 0.853]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.536, -3.246, -2.876], [-3.695, -3.274, -2.961]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.798, "peak_gpu_mib": 2067.4, "seconds": 37.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/lattice-view", "group": "stage", "method": "FineGrasp", "sets": ["view=lattice-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-view", "verdict": "runs", "judge": 2, "config_hash": "6a0f1633395f6d46", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=lattice-view -o stage__FineGrasp__view__lattice-view.yaml", "probe": "grasppanda probe stage__FineGrasp__view__lattice-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.62], "loss/graspness": [2.473, 0.2658], "loss/view": [5.497, 0.6158], "loss/angle": [1.429, 1.006], "loss/depth": [2.039, 0.562], "loss/score": [2.563, 0.8826], "loss/width": [4.953, 0.7628], "loss": [19.76, 4.715]}, "trend": {"loss/objectness": [0.8058, 0.6283, 0.22], "loss/graspness": [2.473, 0.2754, 0.889], "loss/view": [5.497, 0.6067, 0.89], "loss/angle": [1.429, 0.989, 0.308], "loss/depth": [2.039, 0.531, 0.74], "loss/score": [2.563, 0.8477, 0.669], "loss/width": [4.953, 0.8113, 0.836], "loss": [19.76, 4.69, 0.763]}, "real_seeds": {"min": 0.857, "mean": 0.979, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.677, -1.677, -1.677], [-1.677, -1.677, -1.677]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.004, "peak_gpu_mib": 11672.5, "seconds": 82.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/lattice-view", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=lattice-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-view", "verdict": "runs", "judge": 2, "config_hash": "f30019c4b1176a0e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=lattice-view -o stage__GraspNet-baseline__view__lattice-view.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__lattice-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.925, 0.4502], "loss/score": [0.06295, 0.03284], "loss/angle": [0.4744, 0.4476], "loss/width": [0.6528, 0.2084], "loss/tolerance": [1.294, 0.576], "loss": [4.409, 1.715]}, "trend": {"loss/view": [1.925, 0.4145, 0.785], "loss/score": [0.06295, 0.03217, 0.489], "loss/angle": [0.4744, 0.449, 0.053], "loss/width": [0.6528, 0.2068, 0.683], "loss/tolerance": [1.294, 0.5588, 0.568], "loss": [4.409, 1.661, 0.623]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-7.533, 0.6031, 44.0], [-9.864, 0.2635, 35.7]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.308, "peak_gpu_mib": 3964.2, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/lattice-view", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=lattice-view"], "slot": "view", "component": "LatticeViewStage", "variant": "lattice-view", "verdict": "runs", "judge": 2, "config_hash": "daf558c4e263e370", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=lattice-view -o stage__Scale-Balanced-Grasp__view__lattice-view.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__lattice-view.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1484060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.3, 0.2966], "loss/score": [0.07, 0.02492], "loss/angle": [0.4933, 0.4816], "loss/width": [0.4659, 0.1804], "loss/tolerance": [0.8858, 0.4185], "loss": [14.22, 1.402]}, "trend": {"loss/view": [12.3, 0.2551, 0.979], "loss/score": [0.07, 0.02379, 0.66], "loss/angle": [0.4933, 0.4647, 0.058], "loss/width": [0.4659, 0.2198, 0.528], "loss/tolerance": [0.8858, 0.4596, 0.481], "loss": [14.22, 1.423, 0.9]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-27.36, 2.686, 46.46], [-26.54, 2.849, 53.95]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.58, "peak_gpu_mib": 9608.6, "seconds": 18.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/objectness-view-graspable", "group": "stage", "method": "GSNet", "sets": ["view=objectness-view-graspable"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view-graspable", "verdict": "runs-empty", "judge": 2, "config_hash": "e1ad88878c15f5f4", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=objectness-view-graspable -o stage__GSNet__view__objectness-view-graspable.yaml", "probe": "grasppanda probe stage__GSNet__view__objectness-view-graspable.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15446909, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/graspness": [2.855, 0.3141], "loss/objectness": [0.6836, 0.3509], "loss/view": [0.3316, 0.09637], "loss/score": [1.279, 0.05072], "loss/width": [2.885, 0.1583], "loss": [8.034, 0.9704]}, "trend": {"loss/graspness": [2.855, 0.3005, 0.895], "loss/objectness": [0.6836, 0.3533, 0.483], "loss/view": [0.3316, 0.1019, 0.693], "loss/score": [1.279, 0.06757, 0.947], "loss/width": [2.885, 0.1816, 0.937], "loss": [8.034, 1.005, 0.875]}, "real_seeds": {"min": 0.288, "mean": 0.891, "zero_iterations": 0}, "supervised_seeds": {"min": 0.362, "mean": 0.503, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.264, "peak_gpu_mib": 2521.1, "seconds": 28.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/objectness-view-graspable", "group": "stage", "method": "EconomicGrasp", "sets": ["view=objectness-view-graspable"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view-graspable", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=objectness-view-graspable -o stage__EconomicGrasp__view__objectness-view-graspable.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/objectness-view-graspable", "group": "stage", "method": "FineGrasp", "sets": ["view=objectness-view-graspable"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view-graspable", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=objectness-view-graspable -o stage__FineGrasp__view__objectness-view-graspable.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/objectness-view-graspable", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=objectness-view-graspable"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view-graspable", "verdict": "runs", "judge": 2, "config_hash": "d0fb005d3b7f850f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=objectness-view-graspable -o stage__GraspNet-baseline__view__objectness-view-graspable.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__objectness-view-graspable.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 35], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3438], "loss/view": [0.2826, 0.1238], "loss/score": [0.05519, 0.02829], "loss/angle": [0.53, 0.4517], "loss/width": [0.6388, 0.1418], "loss/tolerance": [1.188, 0.3939], "loss": [3.57, 1.483]}, "trend": {"loss/objectness": [0.8755, 0.324, 0.63], "loss/view": [0.2826, 0.1308, 0.537], "loss/score": [0.05519, 0.02983, 0.46], "loss/angle": [0.53, 0.446, 0.158], "loss/width": [0.6388, 0.136, 0.787], "loss/tolerance": [1.188, 0.3964, 0.666], "loss": [3.57, 1.463, 0.59]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, [-7.697, -0.1999, 14.42]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.303, "peak_gpu_mib": 3972.1, "seconds": 14.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/objectness-view-graspable", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=objectness-view-graspable"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view-graspable", "verdict": "runs-empty", "judge": 2, "config_hash": "61901898cd133251", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=objectness-view-graspable -o stage__Scale-Balanced-Grasp__view__objectness-view-graspable.yaml", "probed_as": "reference/Scale-Balanced-Grasp", "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/objectness-view", "group": "stage", "method": "GSNet", "sets": ["view=objectness-view"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view", "verdict": "runs", "judge": 2, "config_hash": "4be35e66358db6d0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=objectness-view -o stage__GSNet__view__objectness-view.yaml", "probe": "grasppanda probe stage__GSNet__view__objectness-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15446909, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1018, 968], "frames": 8, "losses": {"loss/graspness": [2.855, 0.34], "loss/objectness": [0.7501, 0.6303], "loss/view": [0.2417, 0.04049], "loss/score": [1.279, 0.05137], "loss/width": [2.885, 0.1885], "loss": [8.011, 1.251]}, "trend": {"loss/graspness": [2.855, 0.298, 0.896], "loss/objectness": [0.7501, 0.6366, 0.151], "loss/view": [0.2417, 0.04406, 0.818], "loss/score": [1.279, 0.06682, 0.948], "loss/width": [2.885, 0.2064, 0.928], "loss": [8.011, 1.252, 0.844]}, "real_seeds": {"min": 0.272, "mean": 0.895, "zero_iterations": 0}, "supervised_seeds": {"min": 0.107, "mean": 0.474, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[0.06768, 0.09575, 0.1768], [0.07239, 0.104, 0.2369]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.201, "peak_gpu_mib": 2521.1, "seconds": 30.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/objectness-view", "group": "stage", "method": "EconomicGrasp", "sets": ["view=objectness-view"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=objectness-view -o stage__EconomicGrasp__view__objectness-view.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/objectness-view", "group": "stage", "method": "FineGrasp", "sets": ["view=objectness-view"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=objectness-view -o stage__FineGrasp__view__objectness-view.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/objectness-view", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=objectness-view"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=objectness-view -o stage__GraspNet-baseline__view__objectness-view.yaml", "probed_as": "reference/GraspNet-baseline", "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/objectness-view", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=objectness-view"], "slot": "view", "component": "ObjectnessViewStage", "variant": "objectness-view", "verdict": "runs", "judge": 2, "config_hash": "4f56c95f8f61fc17", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=objectness-view -o stage__Scale-Balanced-Grasp__view__objectness-view.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__objectness-view.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [962, 995], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6949, 0.5543], "loss/view": [0.1836, 0.06344], "loss/score": [0.05227, 0.02864], "loss/angle": [0.4856, 0.4511], "loss/width": [0.5501, 0.2278], "loss/tolerance": [0.9566, 0.3736], "loss": [2.923, 1.699]}, "trend": {"loss/objectness": [0.6949, 0.6053, 0.129], "loss/view": [0.1836, 0.06617, 0.64], "loss/score": [0.05227, 0.02256, 0.568], "loss/angle": [0.4856, 0.4682, 0.036], "loss/width": [0.5501, 0.2202, 0.6], "loss/tolerance": [0.9566, 0.3783, 0.605], "loss": [2.923, 1.761, 0.398]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-15.94, 0.08644, 25.19], [-14.27, 0.362, 30.41]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.519, "peak_gpu_mib": 9615.8, "seconds": 18.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/rotation-6d", "group": "stage", "method": "GSNet", "sets": ["view=rotation-6d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-6d", "verdict": "runs", "judge": 2, "config_hash": "8347abcb50ef5605", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=rotation-6d -o stage__GSNet__view__rotation-6d.yaml", "probe": "grasppanda probe stage__GSNet__view__rotation-6d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15202953, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6319], "loss/graspness": [5.176, 0.3502], "loss/view": [0.8098, 0.3755], "loss/view_frame": [1.57, 1.463], "loss/score": [1.066, 0.07283], "loss/width": [3.438, 0.1503], "loss": [12.85, 3.044]}, "trend": {"loss/objectness": [0.7893, 0.6526, 0.173], "loss/graspness": [5.176, 0.3865, 0.925], "loss/view": [0.8098, 0.4134, 0.489], "loss/view_frame": [1.57, 1.48, 0.057], "loss/score": [1.066, 0.0783, 0.927], "loss/width": [3.438, 0.1646, 0.952], "loss": [12.85, 2.886, 0.775]}, "active": {"loss/view_frame": 18}, "flags": {"loss/view_frame": ["rising"]}, "real_seeds": {"min": 0.987, "mean": 0.999, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08651, 0.1527, 0.2531], [0.07308, 0.145, 0.2417]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.438, "peak_gpu_mib": 1834.6, "seconds": 31.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/rotation-6d", "group": "stage", "method": "EconomicGrasp", "sets": ["view=rotation-6d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-6d", "verdict": "runs", "judge": 2, "config_hash": "49d1f4db0ab069a1", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=rotation-6d -o stage__EconomicGrasp__view__rotation-6d.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__rotation-6d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15599416, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6017], "loss/graspness": [5.216, 0.3328], "loss/view": [0.7686, 0.4393], "loss/view_frame": [1.572, 1.272], "loss/angle": [2.971, 1.889], "loss/depth": [1.566, 0.9581], "loss/score": [1.648, 1.546], "loss/width": [2.095, 0.5701], "loss": [16.62, 7.609]}, "trend": {"loss/objectness": [0.7845, 0.6021, 0.233], "loss/graspness": [5.216, 0.3874, 0.926], "loss/view": [0.7686, 0.425, 0.447], "loss/view_frame": [1.572, 1.344, 0.145], "loss/angle": [2.971, 1.863, 0.373], "loss/depth": [1.566, 0.9453, 0.396], "loss/score": [1.648, 1.541, 0.065], "loss/width": [2.095, 0.6407, 0.694], "loss": [16.62, 7.748, 0.534]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.147, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.297, -0.9279, -0.5166], [-1.188, -0.8916, -0.5658]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.171, "peak_gpu_mib": 2056.1, "seconds": 29.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/rotation-6d", "group": "stage", "method": "FineGrasp", "sets": ["view=rotation-6d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-6d", "verdict": "runs", "judge": 2, "config_hash": "a076612ec3556b08", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=rotation-6d -o stage__FineGrasp__view__rotation-6d.yaml", "probe": "grasppanda probe stage__FineGrasp__view__rotation-6d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18994619, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.631], "loss/graspness": [2.473, 0.2755], "loss/view": [1.169, 0.423], "loss/view_frame": [1.466, 1.296], "loss/angle": [2.207, 1.904], "loss/depth": [1.321, 1.027], "loss/score": [1.758, 1.584], "loss/width": [1.319, 0.5206], "loss": [12.52, 7.661]}, "trend": {"loss/objectness": [0.8058, 0.629, 0.219], "loss/graspness": [2.473, 0.2773, 0.888], "loss/view": [1.169, 0.4384, 0.625], "loss/view_frame": [1.466, 1.294, 0.118], "loss/angle": [2.207, 1.871, 0.152], "loss/depth": [1.321, 0.9986, 0.244], "loss/score": [1.758, 1.576, 0.103], "loss/width": [1.319, 0.5673, 0.57], "loss": [12.52, 7.652, 0.389]}, "real_seeds": {"min": 0.153, "mean": 0.897, "zero_iterations": 0}, "supervised_seeds": {"min": 0.023, "mean": 0.134, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.07494, -0.07479, -0.0747], [-0.075, -0.07479, -0.07467]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.646, "peak_gpu_mib": 11631.2, "seconds": 74.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/rotation-6d", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=rotation-6d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-6d", "verdict": "runs", "judge": 2, "config_hash": "b3740bc215d65f11", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=rotation-6d -o stage__GraspNet-baseline__view__rotation-6d.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__rotation-6d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 857270, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.034, 0.2973], "loss/view_frame": [1.199, 0.0], "loss/score": [0.04721, 0.02817], "loss/angle": [0.4783, 0.431], "loss/width": [0.3922, 0.189], "loss/tolerance": [1.609, 0.3815], "loss": [4.76, 1.327]}, "trend": {"loss/view": [1.034, 0.3904, 0.623], "loss/view_frame": [1.199, 1.269, -0.058], "loss/score": [0.04721, 0.02816, 0.403], "loss/angle": [0.4783, 0.4177, 0.127], "loss/width": [0.3922, 0.2353, 0.4], "loss/tolerance": [1.609, 0.3509, 0.782], "loss": [4.76, 1.959, 0.588]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-16.94, 0.03184, 12.95], [-21.63, -0.06531, 15.9]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.337, "peak_gpu_mib": 3961.1, "seconds": 14.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/rotation-6d", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=rotation-6d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-6d", "verdict": "runs", "judge": 2, "config_hash": "f3a62cba6f346981", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=rotation-6d -o stage__Scale-Balanced-Grasp__view__rotation-6d.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__rotation-6d.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1408502, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.571, 0.3706], "loss/view_frame": [0.0, 0.0], "loss/score": [-0.0, 0.01989], "loss/angle": [-0.0, 0.4558], "loss/width": [0.0, 0.1662], "loss/tolerance": [-0.0, 0.3381], "loss": [1.571, 1.351]}, "trend": {"loss/view": [1.571, 0.4172, 0.734], "loss/view_frame": [1.415, 1.4, 0.01], "loss/score": [0.04235, 0.01599, 0.622], "loss/angle": [0.516, 0.4577, 0.113], "loss/width": [0.7414, 0.1857, 0.75], "loss/tolerance": [1.283, 0.4192, 0.673], "loss": [1.571, 2.058, -0.31]}, "active": {"loss/view_frame": 13, "loss/score": 18, "loss/angle": 18, "loss/width": 18, "loss/tolerance": 18}, "flags": {"loss/view_frame": ["flat", "rising", "zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-20.04, 0.5301, 26.88], [-60.63, 0.8735, 22.89]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.544, "peak_gpu_mib": 9604.4, "seconds": 18.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/rotation-9d", "group": "stage", "method": "GSNet", "sets": ["view=rotation-9d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-9d", "verdict": "runs", "judge": 2, "config_hash": "79bed74c585a47f7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=rotation-9d -o stage__GSNet__view__rotation-9d.yaml", "probe": "grasppanda probe stage__GSNet__view__rotation-9d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15204492, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5894], "loss/graspness": [5.176, 0.3091], "loss/view": [0.9171, 0.3793], "loss/view_frame": [1.344, 1.318], "loss/score": [1.099, 0.07107], "loss/width": [3.76, 0.1546], "loss": [13.09, 2.821]}, "trend": {"loss/objectness": [0.7893, 0.6146, 0.221], "loss/graspness": [5.176, 0.356, 0.931], "loss/view": [0.9171, 0.3958, 0.568], "loss/view_frame": [1.344, 1.33, 0.011], "loss/score": [1.099, 0.0839, 0.924], "loss/width": [3.76, 0.1772, 0.953], "loss": [13.09, 2.696, 0.794]}, "active": {"loss/view_frame": 18}, "flags": {"loss/view_frame": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07557, 0.1315, 0.2331], [0.07239, 0.1343, 0.2729]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 1834.9, "seconds": 31.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/rotation-9d", "group": "stage", "method": "EconomicGrasp", "sets": ["view=rotation-9d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-9d", "verdict": "runs", "judge": 2, "config_hash": "f90ee8bca6ff8625", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=rotation-9d -o stage__EconomicGrasp__view__rotation-9d.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__rotation-9d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15600955, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.609], "loss/graspness": [5.216, 0.3954], "loss/view": [0.9917, 0.4547], "loss/view_frame": [1.547, 1.195], "loss/angle": [2.42, 1.876], "loss/depth": [2.712, 0.9558], "loss/score": [2.744, 1.559], "loss/width": [1.464, 0.5433], "loss": [17.88, 7.588]}, "trend": {"loss/objectness": [0.7845, 0.616, 0.215], "loss/graspness": [5.216, 0.4235, 0.919], "loss/view": [0.9917, 0.4389, 0.557], "loss/view_frame": [1.547, 1.234, 0.202], "loss/angle": [2.42, 1.901, 0.214], "loss/depth": [2.712, 0.9835, 0.637], "loss/score": [2.744, 1.548, 0.436], "loss/width": [1.464, 0.6354, 0.566], "loss": [17.88, 7.781, 0.565]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.134, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.024, -1.72, -1.169], [-2.333, -1.803, -1.226]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.292, "peak_gpu_mib": 2056.2, "seconds": 41.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/rotation-9d", "group": "stage", "method": "FineGrasp", "sets": ["view=rotation-9d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-9d", "verdict": "runs", "judge": 2, "config_hash": "0358a3f1215c9148", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=rotation-9d -o stage__FineGrasp__view__rotation-9d.yaml", "probe": "grasppanda probe stage__FineGrasp__view__rotation-9d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18996158, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6324], "loss/graspness": [2.473, 0.3021], "loss/view": [0.8235, 0.412], "loss/view_frame": [1.461, 1.402], "loss/angle": [2.107, 1.945], "loss/depth": [2.823, 0.9296], "loss/score": [2.641, 1.58], "loss/width": [1.128, 0.64], "loss": [14.26, 7.844]}, "trend": {"loss/objectness": [0.8058, 0.6408, 0.205], "loss/graspness": [2.473, 0.3046, 0.877], "loss/view": [0.8235, 0.4258, 0.483], "loss/view_frame": [1.461, 1.411, 0.034], "loss/angle": [2.107, 1.944, 0.077], "loss/depth": [2.823, 0.9446, 0.665], "loss/score": [2.641, 1.576, 0.403], "loss/width": [1.128, 0.615, 0.455], "loss": [14.26, 7.862, 0.449]}, "active": {"loss/view_frame": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/view_frame": ["flat", "rising"]}, "real_seeds": {"min": 0.003, "mean": 0.835, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.119, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.9363, -0.936, -0.9358], [-0.9363, -0.936, -0.9357]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.656, "peak_gpu_mib": 11631.3, "seconds": 78.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/rotation-9d", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=rotation-9d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-9d", "verdict": "runs", "judge": 2, "config_hash": "b5b14091c66fab85", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=rotation-9d -o stage__GraspNet-baseline__view__rotation-9d.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__rotation-9d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 858041, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [0.9933, 0.2935], "loss/view_frame": [1.022, 0.0], "loss/score": [0.07329, 0.03069], "loss/angle": [0.5185, 0.4163], "loss/width": [0.496, 0.1736], "loss/tolerance": [1.686, 0.3443], "loss": [4.789, 1.258]}, "trend": {"loss/view": [0.9933, 0.351, 0.647], "loss/view_frame": [1.022, 1.382, -0.352], "loss/score": [0.07329, 0.02625, 0.642], "loss/angle": [0.5185, 0.4105, 0.208], "loss/width": [0.496, 0.207, 0.583], "loss/tolerance": [1.686, 0.4274, 0.747], "loss": [4.789, 1.85, 0.614]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-36.39, -1.057, 41.83], [-40.13, -1.286, 41.83]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.29, "peak_gpu_mib": 3961.1, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/rotation-9d", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=rotation-9d"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-9d", "verdict": "runs", "judge": 2, "config_hash": "49bd1edc554c21f5", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=rotation-9d -o stage__Scale-Balanced-Grasp__view__rotation-9d.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__rotation-9d.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1409273, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [0.4861, 0.3734], "loss/view_frame": [2.128, 0.0], "loss/score": [0.04672, 0.01962], "loss/angle": [0.5171, 0.4112], "loss/width": [0.4711, 0.0955], "loss/tolerance": [1.279, 0.2616], "loss": [4.928, 1.161]}, "trend": {"loss/view": [0.4861, 0.4233, 0.129], "loss/view_frame": [2.128, 1.532, 0.28], "loss/score": [0.04672, 0.01431, 0.694], "loss/angle": [0.5171, 0.4085, 0.21], "loss/width": [0.4711, 0.1385, 0.706], "loss/tolerance": [1.279, 0.3084, 0.759], "loss": [4.928, 1.889, 0.617]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-16.85, -0.5947, 14.74], [-34.83, -0.8558, 12.57]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.566, "peak_gpu_mib": 9604.5, "seconds": 18.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/rotation-quaternion", "group": "stage", "method": "GSNet", "sets": ["view=rotation-quaternion"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-quaternion", "verdict": "runs", "judge": 2, "config_hash": "6a79d6887bd48052", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=rotation-quaternion -o stage__GSNet__view__rotation-quaternion.yaml", "probe": "grasppanda probe stage__GSNet__view__rotation-quaternion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15201927, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6011], "loss/graspness": [5.176, 0.455], "loss/view": [0.933, 0.3914], "loss/view_frame": [1.23, 1.398], "loss/score": [1.582, 0.07438], "loss/width": [3.269, 0.172], "loss": [12.98, 3.091]}, "trend": {"loss/objectness": [0.7893, 0.6233, 0.21], "loss/graspness": [5.176, 0.4404, 0.915], "loss/view": [0.933, 0.3813, 0.591], "loss/view_frame": [1.23, 1.307, -0.063], "loss/score": [1.582, 0.08665, 0.945], "loss/width": [3.269, 0.1671, 0.949], "loss": [12.98, 2.731, 0.79]}, "active": {"loss/view_frame": 18}, "real_seeds": {"min": 0.892, "mean": 0.993, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07909, 0.1465, 0.2554], [0.07792, 0.1545, 0.3293]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.2, "peak_gpu_mib": 1834.3, "seconds": 35.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/rotation-quaternion", "group": "stage", "method": "EconomicGrasp", "sets": ["view=rotation-quaternion"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-quaternion", "verdict": "runs", "judge": 2, "config_hash": "8ac8bfd006cafd9b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=rotation-quaternion -o stage__EconomicGrasp__view__rotation-quaternion.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__rotation-quaternion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15598390, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.593], "loss/graspness": [5.216, 0.3006], "loss/view": [1.027, 0.4409], "loss/view_frame": [1.546, 1.631], "loss/angle": [2.898, 1.9], "loss/depth": [1.8, 0.9142], "loss/score": [2.896, 1.597], "loss/width": [1.939, 0.7188], "loss": [18.11, 8.096]}, "trend": {"loss/objectness": [0.7845, 0.5942, 0.243], "loss/graspness": [5.216, 0.3625, 0.931], "loss/view": [1.027, 0.4271, 0.584], "loss/view_frame": [1.546, 1.555, -0.005], "loss/angle": [2.898, 1.886, 0.349], "loss/depth": [1.8, 0.923, 0.487], "loss/score": [2.896, 1.55, 0.465], "loss/width": [1.939, 0.6185, 0.681], "loss": [18.11, 7.916, 0.563]}, "flags": {"loss/view_frame": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-0.8904, -0.6333, 0.2279], [-0.966, -0.6657, -0.005823]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.163, "peak_gpu_mib": 2056.1, "seconds": 32.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/rotation-quaternion", "group": "stage", "method": "FineGrasp", "sets": ["view=rotation-quaternion"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-quaternion", "verdict": "runs", "judge": 2, "config_hash": "993a41a889692659", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=rotation-quaternion -o stage__FineGrasp__view__rotation-quaternion.yaml", "probe": "grasppanda probe stage__FineGrasp__view__rotation-quaternion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18993593, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6234], "loss/graspness": [2.473, 0.2704], "loss/view": [1.053, 0.4377], "loss/view_frame": [1.538, 1.252], "loss/angle": [2.625, 1.818], "loss/depth": [2.198, 0.8897], "loss/score": [2.198, 1.503], "loss/width": [1.803, 0.6167], "loss": [14.69, 7.41]}, "trend": {"loss/objectness": [0.8058, 0.6328, 0.215], "loss/graspness": [2.473, 0.2681, 0.892], "loss/view": [1.053, 0.4417, 0.581], "loss/view_frame": [1.538, 1.208, 0.215], "loss/angle": [2.625, 1.842, 0.298], "loss/depth": [2.198, 0.9345, 0.575], "loss/score": [2.198, 1.495, 0.32], "loss/width": [1.803, 0.6172, 0.658], "loss": [14.69, 7.439, 0.494]}, "real_seeds": {"min": 0.741, "mean": 0.987, "zero_iterations": 0}, "supervised_seeds": {"min": 0.019, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.5873, -0.5872, -0.5871], [-0.5873, -0.5872, -0.5871]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.678, "peak_gpu_mib": 11631.1, "seconds": 74.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/rotation-quaternion", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=rotation-quaternion"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-quaternion", "verdict": "runs", "judge": 2, "config_hash": "ed1edd64207de322", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=rotation-quaternion -o stage__GraspNet-baseline__view__rotation-quaternion.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__rotation-quaternion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 856756, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.153, 0.3085], "loss/view_frame": [1.265, 0.0], "loss/score": [0.042, 0.0337], "loss/angle": [0.5119, 0.4213], "loss/width": [0.4803, 0.1986], "loss/tolerance": [1.111, 0.4415], "loss": [4.564, 1.404]}, "trend": {"loss/view": [1.153, 0.3601, 0.688], "loss/view_frame": [1.265, 1.444, -0.142], "loss/score": [0.042, 0.02981, 0.29], "loss/angle": [0.5119, 0.4193, 0.181], "loss/width": [0.4803, 0.2131, 0.556], "loss/tolerance": [1.111, 0.4264, 0.616], "loss": [4.564, 2.052, 0.55]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-28.5, -0.2075, 17.32], [-36.01, -0.4695, 10.54]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.305, "peak_gpu_mib": 3961.1, "seconds": 14.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/rotation-quaternion", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=rotation-quaternion"], "slot": "view", "component": "RomaRotationViewStage", "variant": "rotation-quaternion", "verdict": "runs", "judge": 2, "config_hash": "58618f96ee6c6136", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=rotation-quaternion -o stage__Scale-Balanced-Grasp__view__rotation-quaternion.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__rotation-quaternion.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1407988, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [0.8298, 0.3587], "loss/view_frame": [1.303, 0.0], "loss/score": [0.04783, 0.02656], "loss/angle": [0.485, 0.4378], "loss/width": [0.675, 0.1263], "loss/tolerance": [1.047, 0.2454], "loss": [4.388, 1.195]}, "trend": {"loss/view": [0.8298, 0.4153, 0.5], "loss/view_frame": [1.303, 1.42, -0.09], "loss/score": [0.04783, 0.01644, 0.656], "loss/angle": [0.485, 0.4215, 0.131], "loss/width": [0.675, 0.1567, 0.768], "loss/tolerance": [1.047, 0.2495, 0.762], "loss": [4.388, 1.826, 0.584]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-23.71, -0.124, 13.02], [-21.25, -0.1638, 10.84]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.583, "peak_gpu_mib": 9604.4, "seconds": 18.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/template-view", "group": "stage", "method": "GSNet", "sets": ["view=template-view"], "slot": "view", "component": "TemplateViewStage", "variant": "template-view", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=template-view -o stage__GSNet__view__template-view.yaml", "probed_as": "stage/GSNet/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/template-view", "group": "stage", "method": "EconomicGrasp", "sets": ["view=template-view"], "slot": "view", "component": "TemplateViewStage", "variant": "template-view", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=template-view -o stage__EconomicGrasp__view__template-view.yaml", "probed_as": "stage/EconomicGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/template-view", "group": "stage", "method": "FineGrasp", "sets": ["view=template-view"], "slot": "view", "component": "TemplateViewStage", "variant": "template-view", "verdict": "runs", "judge": 2, "config_hash": "254815dc944eef7c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=template-view -o stage__FineGrasp__view__template-view.yaml", "probed_as": "stage/FineGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/template-view", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=template-view"], "slot": "view", "component": "TemplateViewStage", "variant": "template-view", "verdict": "runs", "judge": 2, "config_hash": "d91822c87857b596", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=template-view -o stage__GraspNet-baseline__view__template-view.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__template-view.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.925, 0.4533], "loss/score": [0.06295, 0.03182], "loss/angle": [0.4744, 0.4537], "loss/width": [0.6528, 0.2243], "loss/tolerance": [1.294, 0.6031], "loss": [4.409, 1.766]}, "trend": {"loss/view": [1.925, 0.4152, 0.784], "loss/score": [0.06295, 0.0304, 0.517], "loss/angle": [0.4744, 0.451, 0.049], "loss/width": [0.6528, 0.2105, 0.678], "loss/tolerance": [1.294, 0.5663, 0.562], "loss": [4.409, 1.673, 0.62]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-9.768, 0.4886, 38.31], [-21.56, 0.234, 25.34]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.305, "peak_gpu_mib": 3964.2, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/template-view", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=template-view"], "slot": "view", "component": "TemplateViewStage", "variant": "template-view", "verdict": "runs", "judge": 2, "config_hash": "88457176a59d9c4c", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=template-view -o stage__Scale-Balanced-Grasp__view__template-view.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__template-view.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1484060, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [12.3, 0.2966], "loss/score": [0.07, 0.02492], "loss/angle": [0.4933, 0.4816], "loss/width": [0.4659, 0.1804], "loss/tolerance": [0.8858, 0.4185], "loss": [14.22, 1.402]}, "trend": {"loss/view": [12.3, 0.2551, 0.979], "loss/score": [0.07, 0.02379, 0.66], "loss/angle": [0.4933, 0.4647, 0.058], "loss/width": [0.4659, 0.2198, 0.528], "loss/tolerance": [0.8858, 0.4596, 0.481], "loss": [14.22, 1.423, 0.9]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-27.36, 2.686, 46.46], [-26.54, 2.849, 53.95]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.546, "peak_gpu_mib": 9608.5, "seconds": 18.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/two-vector-baseline", "group": "stage", "method": "GSNet", "sets": ["view=two-vector-baseline"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector-baseline", "verdict": "runs", "judge": 2, "config_hash": "c670dc61c92d5e2f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=two-vector-baseline -o stage__GSNet__view__two-vector-baseline.yaml", "probe": "grasppanda probe stage__GSNet__view__two-vector-baseline.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15202953, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5461], "loss/graspness": [5.176, 0.3692], "loss/view": [1.041, 0.3744], "loss/view_frame": [1.435, 1.431], "loss/score": [1.058, 0.06954], "loss/width": [3.683, 0.1545], "loss": [13.18, 2.945]}, "trend": {"loss/objectness": [0.7893, 0.5718, 0.276], "loss/graspness": [5.176, 0.442, 0.915], "loss/view": [1.041, 0.324, 0.689], "loss/view_frame": [1.435, 1.214, 0.154], "loss/score": [1.058, 0.08774, 0.917], "loss/width": [3.683, 0.1696, 0.954], "loss": [13.18, 2.552, 0.806]}, "active": {"loss/view_frame": 18}, "real_seeds": {"min": 0.542, "mean": 0.962, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1113, 0.2046, 0.373], [0.1117, 0.1843, 0.3373]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.18, "peak_gpu_mib": 1834.6, "seconds": 33.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/two-vector-baseline", "group": "stage", "method": "EconomicGrasp", "sets": ["view=two-vector-baseline"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector-baseline", "verdict": "runs", "judge": 2, "config_hash": "81adb8bfcce2ec82", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=two-vector-baseline -o stage__EconomicGrasp__view__two-vector-baseline.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__two-vector-baseline.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15599416, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5926], "loss/graspness": [5.216, 0.2613], "loss/view": [1.147, 0.4307], "loss/view_frame": [1.452, 1.152], "loss/angle": [3.058, 1.876], "loss/depth": [1.538, 0.9399], "loss/score": [1.633, 1.551], "loss/width": [1.344, 0.6069], "loss": [16.17, 7.41]}, "trend": {"loss/objectness": [0.7845, 0.5891, 0.249], "loss/graspness": [5.216, 0.296, 0.943], "loss/view": [1.147, 0.4239, 0.63], "loss/view_frame": [1.452, 1.21, 0.166], "loss/angle": [3.058, 1.902, 0.378], "loss/depth": [1.538, 0.9712, 0.369], "loss/score": [1.633, 1.561, 0.044], "loss/width": [1.344, 0.5862, 0.564], "loss": [16.17, 7.54, 0.534]}, "flags": {"loss/score": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.14, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-0.6418, -0.2334, 0.07018], [-0.6675, -0.2741, 0.1506]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.166, "peak_gpu_mib": 2056.1, "seconds": 32.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/two-vector-baseline", "group": "stage", "method": "FineGrasp", "sets": ["view=two-vector-baseline"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector-baseline", "verdict": "runs", "judge": 2, "config_hash": "25c6d8a7f4bcf876", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=two-vector-baseline -o stage__FineGrasp__view__two-vector-baseline.yaml", "probe": "grasppanda probe stage__FineGrasp__view__two-vector-baseline.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18994619, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6299], "loss/graspness": [2.473, 0.2735], "loss/view": [0.95, 0.4262], "loss/view_frame": [1.438, 1.19], "loss/angle": [2.267, 1.951], "loss/depth": [1.37, 0.9493], "loss/score": [1.802, 1.573], "loss/width": [1.859, 0.5021], "loss": [12.96, 7.495]}, "trend": {"loss/objectness": [0.8058, 0.6338, 0.213], "loss/graspness": [2.473, 0.2783, 0.887], "loss/view": [0.95, 0.4411, 0.536], "loss/view_frame": [1.438, 1.288, 0.104], "loss/angle": [2.267, 1.925, 0.151], "loss/depth": [1.37, 0.9418, 0.312], "loss/score": [1.802, 1.568, 0.13], "loss/width": [1.859, 0.5487, 0.705], "loss": [12.96, 7.625, 0.412]}, "real_seeds": {"min": 0.287, "mean": 0.924, "zero_iterations": 0}, "supervised_seeds": {"min": 0.04, "mean": 0.124, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.56, 0.5604, 0.5606], [0.5601, 0.5604, 0.5606]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.658, "peak_gpu_mib": 11631.2, "seconds": 79.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/two-vector-baseline", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=two-vector-baseline"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector-baseline", "verdict": "runs", "judge": 2, "config_hash": "de9ca3cf66c71588", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=two-vector-baseline -o stage__GraspNet-baseline__view__two-vector-baseline.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__two-vector-baseline.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 857270, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.073, 0.2948], "loss/view_frame": [0.8883, 0.0], "loss/score": [0.02227, 0.03368], "loss/angle": [0.492, 0.4417], "loss/width": [0.5425, 0.1618], "loss/tolerance": [1.183, 0.4426], "loss": [4.201, 1.375]}, "trend": {"loss/view": [1.073, 0.3513, 0.673], "loss/view_frame": [0.8883, 1.332, -0.5], "loss/score": [0.02227, 0.02911, -0.307], "loss/angle": [0.492, 0.4153, 0.156], "loss/width": [0.5425, 0.1698, 0.687], "loss/tolerance": [1.183, 0.4455, 0.623], "loss": [4.201, 1.897, 0.548]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["rising", "zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-17.6, -0.3588, 13.78], [-15.33, -0.3745, 9.541]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.349, "peak_gpu_mib": 3961.1, "seconds": 14.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/two-vector-baseline", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=two-vector-baseline"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector-baseline", "verdict": "runs", "judge": 2, "config_hash": "b4c05e2a4368bc97", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=two-vector-baseline -o stage__Scale-Balanced-Grasp__view__two-vector-baseline.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__two-vector-baseline.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1408502, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [0.532, 0.3551], "loss/view_frame": [1.234, 0.0], "loss/score": [0.04853, 0.01986], "loss/angle": [0.5339, 0.4308], "loss/width": [0.3586, 0.1287], "loss/tolerance": [1.399, 0.3027], "loss": [4.105, 1.237]}, "trend": {"loss/view": [0.532, 0.4319, 0.188], "loss/view_frame": [1.234, 1.252, -0.015], "loss/score": [0.04853, 0.01624, 0.665], "loss/angle": [0.5339, 0.4078, 0.236], "loss/width": [0.3586, 0.1555, 0.566], "loss/tolerance": [1.399, 0.3144, 0.775], "loss": [4.105, 1.699, 0.586]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["flat", "zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-36.6, -0.06592, 20.5], [-28.22, 0.1027, 18.52]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.464, "peak_gpu_mib": 9604.4, "seconds": 16.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/view/two-vector", "group": "stage", "method": "GSNet", "sets": ["view=two-vector"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector", "verdict": "runs", "judge": 2, "config_hash": "207a968b6b64e1d0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set view=two-vector -o stage__GSNet__view__two-vector.yaml", "probe": "grasppanda probe stage__GSNet__view__two-vector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15202953, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6621], "loss/graspness": [5.176, 0.3619], "loss/view": [1.129, 0.5057], "loss/view_frame": [1.581, 1.157], "loss/score": [1.059, 0.08381], "loss/width": [3.174, 0.2296], "loss": [12.91, 3.0]}, "trend": {"loss/objectness": [0.7893, 0.6824, 0.135], "loss/graspness": [5.176, 0.4509, 0.913], "loss/view": [1.129, 0.5853, 0.482], "loss/view_frame": [1.581, 1.17, 0.26], "loss/score": [1.059, 0.1001, 0.905], "loss/width": [3.174, 0.2555, 0.919], "loss": [12.91, 3.025, 0.766]}, "active": {"loss/view_frame": 18}, "flags": {"loss/view_frame": ["rising"]}, "real_seeds": {"min": 0.975, "mean": 0.999, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08575, 0.172, 0.3301], [0.1022, 0.1716, 0.2859]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.296, "peak_gpu_mib": 1834.6, "seconds": 34.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/view/two-vector", "group": "stage", "method": "EconomicGrasp", "sets": ["view=two-vector"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector", "verdict": "runs", "judge": 2, "config_hash": "74c64f25a4937bff", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view=two-vector -o stage__EconomicGrasp__view__two-vector.yaml", "probe": "grasppanda probe stage__EconomicGrasp__view__two-vector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15599416, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6033], "loss/graspness": [5.216, 0.3293], "loss/view": [1.25, 0.4303], "loss/view_frame": [1.437, 1.369], "loss/angle": [3.041, 1.948], "loss/depth": [1.527, 0.9548], "loss/score": [1.636, 1.62], "loss/width": [1.2, 0.5424], "loss": [16.09, 7.798]}, "trend": {"loss/objectness": [0.7845, 0.6048, 0.229], "loss/graspness": [5.216, 0.4091, 0.922], "loss/view": [1.25, 0.4152, 0.668], "loss/view_frame": [1.437, 1.491, -0.038], "loss/angle": [3.041, 1.926, 0.367], "loss/depth": [1.527, 0.9329, 0.389], "loss/score": [1.636, 1.581, 0.033], "loss/width": [1.2, 0.6944, 0.421], "loss": [16.09, 8.055, 0.499]}, "flags": {"loss/view_frame": ["flat", "rising"], "loss/score": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.149, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[0.002849, 0.272, 0.4812], [-0.1241, 0.3167, 0.5922]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.29, "peak_gpu_mib": 2056.1, "seconds": 46.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/view/two-vector", "group": "stage", "method": "FineGrasp", "sets": ["view=two-vector"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector", "verdict": "runs", "judge": 2, "config_hash": "f8e29a66ccffa8d0", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view=two-vector -o stage__FineGrasp__view__two-vector.yaml", "probe": "grasppanda probe stage__FineGrasp__view__two-vector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 18994619, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.632], "loss/graspness": [2.473, 0.2723], "loss/view": [0.9371, 0.4572], "loss/view_frame": [1.478, 1.216], "loss/angle": [2.258, 1.795], "loss/depth": [1.357, 0.8862], "loss/score": [1.787, 1.465], "loss/width": [1.918, 0.6101], "loss": [13.01, 7.334]}, "trend": {"loss/objectness": [0.8058, 0.637, 0.209], "loss/graspness": [2.473, 0.2884, 0.883], "loss/view": [0.9371, 0.447, 0.523], "loss/view_frame": [1.478, 1.236, 0.163], "loss/angle": [2.258, 1.824, 0.192], "loss/depth": [1.357, 0.92, 0.322], "loss/score": [1.787, 1.503, 0.159], "loss/width": [1.918, 0.5917, 0.692], "loss": [13.01, 7.447, 0.428]}, "real_seeds": {"min": 0.743, "mean": 0.978, "zero_iterations": 0}, "supervised_seeds": {"min": 0.02, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.7468, 0.7469, 0.7469], [0.7468, 0.7469, 0.7469]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.615, "peak_gpu_mib": 11631.2, "seconds": 83.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/view/two-vector", "group": "stage", "method": "GraspNet-baseline", "sets": ["view=two-vector"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector", "verdict": "runs", "judge": 2, "config_hash": "142b35a5d03fc464", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view=two-vector -o stage__GraspNet-baseline__view__two-vector.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__view__two-vector.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 857270, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.35, 0.3005], "loss/view_frame": [0.0, 0.0], "loss/score": [0.01787, 0.0358], "loss/angle": [0.469, 0.4065], "loss/width": [0.6806, 0.1746], "loss/tolerance": [0.8189, 0.3939], "loss": [3.337, 1.311]}, "trend": {"loss/view": [1.35, 0.3486, 0.742], "loss/view_frame": [1.03, 1.335, -0.295], "loss/score": [0.01787, 0.03417, -0.911], "loss/angle": [0.469, 0.4127, 0.12], "loss/width": [0.6806, 0.1915, 0.719], "loss/tolerance": [0.8189, 0.3922, 0.521], "loss": [3.337, 1.872, 0.439]}, "active": {"loss/view_frame": 14}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-23.84, 0.007407, 15.09], [-17.38, -0.1111, 15.09]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.291, "peak_gpu_mib": 3961.1, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/view/two-vector", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["view=two-vector"], "slot": "view", "component": "TwoVectorViewStage", "variant": "two-vector", "verdict": "runs", "judge": 2, "config_hash": "72014ba425017a3c", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view=two-vector -o stage__Scale-Balanced-Grasp__view__two-vector.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__view__two-vector.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1408502, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [0.6588, 0.3607], "loss/view_frame": [1.355, 0.0], "loss/score": [0.03409, 0.01789], "loss/angle": [0.5237, 0.4509], "loss/width": [0.4409, 0.169], "loss/tolerance": [1.294, 0.2483], "loss": [4.306, 1.247]}, "trend": {"loss/view": [0.6588, 0.4624, 0.298], "loss/view_frame": [1.355, 1.356, -0.001], "loss/score": [0.03409, 0.01933, 0.433], "loss/angle": [0.5237, 0.4328, 0.174], "loss/width": [0.4409, 0.2271, 0.485], "loss/tolerance": [1.294, 0.2576, 0.801], "loss": [4.306, 1.866, 0.567]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view": ["rising"], "loss/view_frame": ["flat", "zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-138.6, 0.4065, 23.92], [-158.2, 0.2002, 19.32]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.669, "peak_gpu_mib": 9604.4, "seconds": 21.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/assigner/compact-label", "group": "stage", "method": "GSNet", "sets": ["assigner=compact-label"], "slot": "assigner", "component": "CompactLabelAssigner", "variant": "compact-label", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set assigner=compact-label -o stage__GSNet__assigner__compact-label.yaml", "refusal": ["CompactLabelAssigner returns 'compact' matched labels, but SWADHead is supervised with 'dense' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "data.train.dataset: CompactLabelAssigner reads `supervision.extras['compact_labels']`, which this training dataset does not serve. Compact labels are served with a `compact_labels:` section (asset: `grasppanda prepare graspnet1b --compact-labels --config <this config>`). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "fixed-by-compose"], "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/assigner/compact-label", "group": "stage", "method": "EconomicGrasp", "sets": ["assigner=compact-label"], "slot": "assigner", "component": "CompactLabelAssigner", "variant": "compact-label", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set assigner=compact-label -o stage__EconomicGrasp__assigner__compact-label.yaml", "probed_as": "stage/EconomicGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/assigner/compact-label", "group": "stage", "method": "FineGrasp", "sets": ["assigner=compact-label"], "slot": "assigner", "component": "CompactLabelAssigner", "variant": "compact-label", "verdict": "runs", "judge": 2, "config_hash": "254815dc944eef7c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set assigner=compact-label -o stage__FineGrasp__assigner__compact-label.yaml", "probed_as": "stage/FineGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/assigner/compact-label", "group": "stage", "method": "GraspNet-baseline", "sets": ["assigner=compact-label"], "slot": "assigner", "component": "CompactLabelAssigner", "variant": "compact-label", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set assigner=compact-label -o stage__GraspNet-baseline__assigner__compact-label.yaml", "refusal": ["CompactLabelAssigner returns 'compact' matched labels, but OperationHead is supervised with 'dense' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage.", "data.train.dataset: CompactLabelAssigner reads `supervision.extras['compact_labels']`, which this training dataset does not serve. Compact labels are served with a `compact_labels:` section (asset: `grasppanda prepare graspnet1b --compact-labels --config <this config>`). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "structural", "fixed-by-compose"], "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/assigner/compact-label", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["assigner=compact-label"], "slot": "assigner", "component": "CompactLabelAssigner", "variant": "compact-label", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set assigner=compact-label -o stage__Scale-Balanced-Grasp__assigner__compact-label.yaml", "refusal": ["CompactLabelAssigner returns 'compact' matched labels, but OperationHead is supervised with 'dense' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage.", "data.train.dataset: CompactLabelAssigner reads `supervision.extras['compact_labels']`, which this training dataset does not serve. Compact labels are served with a `compact_labels:` section (asset: `grasppanda prepare graspnet1b --compact-labels --config <this config>`). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "structural", "fixed-by-compose"], "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/assigner/nearest-label-object-seeds", "group": "stage", "method": "GSNet", "sets": ["assigner=nearest-label-object-seeds"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "nearest-label-object-seeds", "verdict": "runs", "judge": 2, "config_hash": "8332d396c49b1161", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set assigner=nearest-label-object-seeds -o stage__GSNet__assigner__nearest-label-object-seeds.yaml", "probe": "grasppanda probe stage__GSNet__assigner__nearest-label-object-seeds.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5698], "loss/graspness": [5.176, 0.2793], "loss/view": [7.277, 0.541], "loss/score": [1.665, 0.09284], "loss/width": [3.832, 0.2054], "loss": [18.74, 1.688]}, "trend": {"loss/objectness": [0.7893, 0.6032, 0.236], "loss/graspness": [5.176, 0.2939, 0.943], "loss/view": [7.277, 0.4743, 0.935], "loss/score": [1.665, 0.09611, 0.942], "loss/width": [3.832, 0.2289, 0.94], "loss": [18.74, 1.696, 0.909]}, "real_seeds": {"min": 0.473, "mean": 0.951, "zero_iterations": 0}, "supervised_seeds": {"min": 0.507, "mean": 0.59, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09901, 0.1551, 0.2779], [0.103, 0.152, 0.3701]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.197, "peak_gpu_mib": 2067.5, "seconds": 36.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/assigner/nearest-label-object-seeds", "group": "stage", "method": "EconomicGrasp", "sets": ["assigner=nearest-label-object-seeds"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "nearest-label-object-seeds", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set assigner=nearest-label-object-seeds -o stage__EconomicGrasp__assigner__nearest-label-object-seeds.yaml", "refusal": ["NearestLabelAssigner returns 'dense' matched labels, but EconomicHead is supervised with 'compact' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "data.train.dataset: NearestLabelAssigner reads `supervision.objects`, which this training dataset does not serve. It serves compact labels in place of the dense label grids (its `compact_labels` section). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "fixed-by-compose"], "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/assigner/nearest-label-object-seeds", "group": "stage", "method": "FineGrasp", "sets": ["assigner=nearest-label-object-seeds"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "nearest-label-object-seeds", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set assigner=nearest-label-object-seeds -o stage__FineGrasp__assigner__nearest-label-object-seeds.yaml", "refusal": ["NearestLabelAssigner returns 'dense' matched labels, but EconomicHead is supervised with 'compact' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "data.train.dataset: NearestLabelAssigner reads `supervision.objects`, which this training dataset does not serve. It serves compact labels in place of the dense label grids (its `compact_labels` section). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "fixed-by-compose"], "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/assigner/nearest-label-object-seeds", "group": "stage", "method": "GraspNet-baseline", "sets": ["assigner=nearest-label-object-seeds"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "nearest-label-object-seeds", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set assigner=nearest-label-object-seeds -o stage__GraspNet-baseline__assigner__nearest-label-object-seeds.yaml", "probed_as": "reference/GraspNet-baseline", "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/assigner/nearest-label-object-seeds", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["assigner=nearest-label-object-seeds"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "nearest-label-object-seeds", "verdict": "runs-empty", "judge": 2, "config_hash": "b2ed54169692cf77", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set assigner=nearest-label-object-seeds -o stage__Scale-Balanced-Grasp__assigner__nearest-label-object-seeds.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__assigner__nearest-label-object-seeds.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3423], "loss/view": [0.2626, 0.1177], "loss/score": [0.05376, 0.02749], "loss/angle": [0.4826, 0.4165], "loss/width": [0.5197, 0.1449], "loss/tolerance": [0.9109, 0.2337], "loss": [2.989, 1.283]}, "trend": {"loss/objectness": [0.7596, 0.3203, 0.578], "loss/view": [0.2626, 0.1292, 0.508], "loss/score": [0.05376, 0.02097, 0.61], "loss/angle": [0.4826, 0.4198, 0.13], "loss/width": [0.5197, 0.1835, 0.647], "loss/tolerance": [0.9109, 0.2722, 0.701], "loss": [2.989, 1.346, 0.55]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.642, "peak_gpu_mib": 9615.8, "seconds": 20.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/assigner/scale-balanced", "group": "stage", "method": "GSNet", "sets": ["assigner=scale-balanced"], "slot": "assigner", "component": "ScaleBalancedAssigner", "variant": "scale-balanced", "verdict": "runs", "judge": 2, "config_hash": "5045ba94a026f863", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set assigner=scale-balanced -o stage__GSNet__assigner__scale-balanced.yaml", "fitted": ["data.train.dataset.scale_statistic"], "probe": "grasppanda probe stage__GSNet__assigner__scale-balanced.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5758], "loss/graspness": [5.176, 0.2673], "loss/view": [6.537, 0.2496], "loss/score": [1.551, 0.08974], "loss/width": [3.576, 0.2303], "loss": [17.63, 1.413]}, "trend": {"loss/objectness": [0.7893, 0.608, 0.23], "loss/graspness": [5.176, 0.3037, 0.941], "loss/view": [6.537, 0.2442, 0.963], "loss/score": [1.551, 0.0901, 0.942], "loss/width": [3.576, 0.2765, 0.923], "loss": [17.63, 1.523, 0.914]}, "real_seeds": {"min": 0.148, "mean": 0.912, "zero_iterations": 0}, "supervised_seeds": {"min": 0.513, "mean": 0.592, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1015, 0.1654, 0.2562], [0.09507, 0.1575, 0.2825]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.292, "peak_gpu_mib": 2115.0, "seconds": 39.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/assigner/scale-balanced", "group": "stage", "method": "EconomicGrasp", "sets": ["assigner=scale-balanced"], "slot": "assigner", "component": "ScaleBalancedAssigner", "variant": "scale-balanced", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set assigner=scale-balanced -o stage__EconomicGrasp__assigner__scale-balanced.yaml", "fitted": ["data.train.dataset.scale_statistic"], "refusal": ["ScaleBalancedAssigner returns 'dense' matched labels, but EconomicHead is supervised with 'compact' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "data.train.dataset: ScaleBalancedAssigner reads `supervision.objects`, which this training dataset does not serve. It serves compact labels in place of the dense label grids (its `compact_labels` section). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "fixed-by-compose"], "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/assigner/scale-balanced", "group": "stage", "method": "FineGrasp", "sets": ["assigner=scale-balanced"], "slot": "assigner", "component": "ScaleBalancedAssigner", "variant": "scale-balanced", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set assigner=scale-balanced -o stage__FineGrasp__assigner__scale-balanced.yaml", "fitted": ["data.train.dataset.scale_statistic"], "refusal": ["ScaleBalancedAssigner returns 'dense' matched labels, but EconomicHead is supervised with 'compact' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "data.train.dataset: ScaleBalancedAssigner reads `supervision.objects`, which this training dataset does not serve. It serves compact labels in place of the dense label grids (its `compact_labels` section). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "fixed-by-compose"], "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/assigner/scale-balanced", "group": "stage", "method": "GraspNet-baseline", "sets": ["assigner=scale-balanced"], "slot": "assigner", "component": "ScaleBalancedAssigner", "variant": "scale-balanced", "verdict": "runs", "judge": 2, "config_hash": "fb0296d83206c5b3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set assigner=scale-balanced -o stage__GraspNet-baseline__assigner__scale-balanced.yaml", "fitted": ["data.train.dataset.scale_statistic"], "probe": "grasppanda probe stage__GraspNet-baseline__assigner__scale-balanced.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [313, 290], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5255], "loss/view": [0.1857, 0.06566], "loss/score": [0.05829, 0.03689], "loss/angle": [0.5252, 0.4733], "loss/width": [0.6222, 0.1772], "loss/tolerance": [1.193, 0.546], "loss": [3.347, 1.825]}, "trend": {"loss/objectness": [0.7623, 0.5751, 0.246], "loss/view": [0.1857, 0.06635, 0.643], "loss/score": [0.05829, 0.03566, 0.388], "loss/angle": [0.5252, 0.4707, 0.104], "loss/width": [0.6222, 0.192, 0.691], "loss/tolerance": [1.193, 0.4964, 0.584], "loss": [3.347, 1.836, 0.451]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-29.98, 1.637, 20.53], [-15.21, 1.215, 30.65]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.333, "peak_gpu_mib": 3972.1, "seconds": 14.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/assigner/scale-balanced", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["assigner=scale-balanced"], "slot": "assigner", "component": "ScaleBalancedAssigner", "variant": "scale-balanced", "verdict": "runs-empty", "judge": 2, "config_hash": "61901898cd133251", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set assigner=scale-balanced -o stage__Scale-Balanced-Grasp__assigner__scale-balanced.yaml", "probed_as": "reference/Scale-Balanced-Grasp", "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/assigner/NearestLabelAssigner", "group": "stage", "method": "GSNet", "sets": ["assigner=NearestLabelAssigner"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "NearestLabelAssigner", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set assigner=NearestLabelAssigner -o stage__GSNet__assigner__NearestLabelAssigner.yaml", "probed_as": "stage/GSNet/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/assigner/NearestLabelAssigner", "group": "stage", "method": "EconomicGrasp", "sets": ["assigner=NearestLabelAssigner"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "NearestLabelAssigner", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set assigner=NearestLabelAssigner -o stage__EconomicGrasp__assigner__NearestLabelAssigner.yaml", "refusal": ["NearestLabelAssigner returns 'dense' matched labels, but EconomicHead is supervised with 'compact' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "data.train.dataset: NearestLabelAssigner reads `supervision.objects`, which this training dataset does not serve. It serves compact labels in place of the dense label grids (its `compact_labels` section). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "fixed-by-compose"], "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/assigner/NearestLabelAssigner", "group": "stage", "method": "FineGrasp", "sets": ["assigner=NearestLabelAssigner"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "NearestLabelAssigner", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set assigner=NearestLabelAssigner -o stage__FineGrasp__assigner__NearestLabelAssigner.yaml", "refusal": ["NearestLabelAssigner returns 'dense' matched labels, but EconomicHead is supervised with 'compact' ones. A head bundle and the assigner that feeds it must agree on the label set; the dataset must serve that label set too.", "data.train.dataset: NearestLabelAssigner reads `supervision.objects`, which this training dataset does not serve. It serves compact labels in place of the dense label grids (its `compact_labels` section). A dataset serves one of the two label sets, and its transforms differ with it: the dense grids need a `SampleGraspLabels` transform and no `compact_labels` section, compact labels the section and no such transform."], "refusal_kinds": ["structural", "fixed-by-compose"], "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/assigner/NearestLabelAssigner", "group": "stage", "method": "GraspNet-baseline", "sets": ["assigner=NearestLabelAssigner"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "NearestLabelAssigner", "verdict": "runs", "judge": 2, "config_hash": "c663932bd92123ba", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set assigner=NearestLabelAssigner -o stage__GraspNet-baseline__assigner__NearestLabelAssigner.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__assigner__NearestLabelAssigner.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [696, 727], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5836], "loss/view": [0.2001, 0.07717], "loss/score": [0.05197, 0.02981], "loss/angle": [0.5329, 0.4672], "loss/width": [0.6178, 0.1808], "loss/tolerance": [1.205, 0.4885], "loss": [3.37, 1.827]}, "trend": {"loss/objectness": [0.7623, 0.614, 0.195], "loss/view": [0.2001, 0.08063, 0.597], "loss/score": [0.05197, 0.03279, 0.369], "loss/angle": [0.5329, 0.4784, 0.102], "loss/width": [0.6178, 0.1765, 0.714], "loss/tolerance": [1.205, 0.5061, 0.58], "loss": [3.37, 1.888, 0.44]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-15.26, 0.9096, 16.46], [-22.71, 0.6504, 18.9]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.304, "peak_gpu_mib": 3972.1, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/assigner/NearestLabelAssigner", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["assigner=NearestLabelAssigner"], "slot": "assigner", "component": "NearestLabelAssigner", "variant": "NearestLabelAssigner", "verdict": "runs-empty", "judge": 2, "config_hash": "96680661345ee2e6", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set assigner=NearestLabelAssigner -o stage__Scale-Balanced-Grasp__assigner__NearestLabelAssigner.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__assigner__NearestLabelAssigner.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3372], "loss/view": [0.2626, 0.1135], "loss/score": [0.05572, 0.02213], "loss/angle": [0.4867, 0.4098], "loss/width": [0.5673, 0.1387], "loss/tolerance": [0.9567, 0.2448], "loss": [3.089, 1.266]}, "trend": {"loss/objectness": [0.7596, 0.3113, 0.59], "loss/view": [0.2626, 0.1266, 0.518], "loss/score": [0.05572, 0.02106, 0.622], "loss/angle": [0.4867, 0.4082, 0.161], "loss/width": [0.5673, 0.1465, 0.742], "loss/tolerance": [0.9567, 0.2755, 0.712], "loss": [3.089, 1.289, 0.583]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.53, "peak_gpu_mib": 9615.8, "seconds": 16.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/ball", "group": "stage", "method": "GSNet", "sets": ["grouper=ball"], "slot": "grouper", "component": "LocalGroup", "variant": "ball", "verdict": "runs", "judge": 2, "config_hash": "bbb8d8c6fbe316d6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=ball -o stage__GSNet__grouper__ball.yaml", "probe": "grasppanda probe stage__GSNet__grouper__ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [334, 305], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5857], "loss/graspness": [5.176, 0.3823], "loss/view": [6.291, 0.313], "loss/score": [1.528, 0.07402], "loss/width": [3.725, 0.1933], "loss": [17.51, 1.548]}, "trend": {"loss/objectness": [0.7893, 0.6113, 0.225], "loss/graspness": [5.176, 0.3546, 0.931], "loss/view": [6.291, 0.3459, 0.945], "loss/score": [1.528, 0.08472, 0.945], "loss/width": [3.725, 0.2442, 0.934], "loss": [17.51, 1.641, 0.906]}, "real_seeds": {"min": 0.445, "mean": 0.928, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1019, 0.161, 0.251], [0.1159, 0.1645, 0.3053]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.249, "peak_gpu_mib": 1912.0, "seconds": 39.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/ball", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=ball"], "slot": "grouper", "component": "LocalGroup", "variant": "ball", "verdict": "runs", "judge": 2, "config_hash": "cffb1240e6f0bdd8", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=ball -o stage__EconomicGrasp__grouper__ball.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15347496, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5794], "loss/graspness": [5.216, 0.2768], "loss/view": [6.545, 0.6882], "loss/angle": [2.733, 0.7237], "loss/depth": [1.139, 0.3621], "loss/score": [1.305, 0.599], "loss/width": [1.395, 0.7476], "loss": [19.12, 3.977]}, "trend": {"loss/objectness": [0.7845, 0.564, 0.281], "loss/graspness": [5.216, 0.3004, 0.942], "loss/view": [6.545, 0.6891, 0.895], "loss/angle": [2.733, 0.7219, 0.736], "loss/depth": [1.139, 0.3842, 0.663], "loss/score": [1.305, 0.609, 0.533], "loss/width": [1.395, 0.8179, 0.414], "loss": [19.12, 4.086, 0.786]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.769, -2.549, -2.275], [-2.764, -2.542, -2.268]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.183, "peak_gpu_mib": 1407.6, "seconds": 34.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/ball", "group": "stage", "method": "FineGrasp", "sets": ["grouper=ball"], "slot": "grouper", "component": "LocalGroup", "variant": "ball", "verdict": "runs", "judge": 2, "config_hash": "8aaa2b3f079a98c5", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=ball -o stage__FineGrasp__grouper__ball.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15359496, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6285], "loss/graspness": [2.473, 0.2624], "loss/view": [5.497, 0.6224], "loss/angle": [2.922, 0.9908], "loss/depth": [1.035, 0.4939], "loss/score": [2.895, 0.8326], "loss/width": [2.035, 0.7529], "loss": [17.66, 4.583]}, "trend": {"loss/objectness": [0.8058, 0.6396, 0.206], "loss/graspness": [2.473, 0.2735, 0.889], "loss/view": [5.497, 0.6134, 0.888], "loss/angle": [2.922, 0.9279, 0.682], "loss/depth": [1.035, 0.5054, 0.511], "loss/score": [2.895, 0.7887, 0.728], "loss/width": [2.035, 0.7667, 0.623], "loss": [17.66, 4.515, 0.744]}, "real_seeds": {"min": 0.569, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 0.04, "mean": 0.112, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.996, -1.788, -1.608], [-1.989, -1.818, -1.601]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.261, "peak_gpu_mib": 2582.7, "seconds": 92.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/ball", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=ball"], "slot": "grouper", "component": "LocalGroup", "variant": "ball", "verdict": "runs", "judge": 2, "config_hash": "17473cee4c8ed0d7", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=ball -o stage__GraspNet-baseline__grouper__ball.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1183596, "iterations": 20, "batch_size": 2, "grasps_per_frame": [520, 588], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6224], "loss/view": [0.2001, 0.08926], "loss/score": [0.06383, 0.03591], "loss/angle": [0.4703, 0.4563], "loss/width": [0.4963, 0.2844], "loss/tolerance": [1.373, 0.7097], "loss": [3.366, 2.198]}, "trend": {"loss/objectness": [0.7623, 0.6114, 0.198], "loss/view": [0.2001, 0.08621, 0.569], "loss/score": [0.06383, 0.03876, 0.393], "loss/angle": [0.4703, 0.4466, 0.05], "loss/width": [0.4963, 0.3473, 0.3], "loss/tolerance": [1.373, 0.8046, 0.414], "loss": [3.366, 2.335, 0.306]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-43.72, -2.088, 8.743], [-28.74, 1.284, 23.69]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.201, "peak_gpu_mib": 1940.3, "seconds": 12.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/ball", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=ball"], "slot": "grouper", "component": "LocalGroup", "variant": "ball", "verdict": "runs", "judge": 2, "config_hash": "9c52b2de83c4ac90", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=ball -o stage__Scale-Balanced-Grasp__grouper__ball.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__ball.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1280492, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 13], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3246], "loss/view": [0.2608, 0.1162], "loss/score": [0.0606, 0.02199], "loss/angle": [0.5223, 0.4719], "loss/width": [0.4798, 0.2492], "loss/tolerance": [1.267, 0.3842], "loss": [3.35, 1.568]}, "trend": {"loss/objectness": [0.7596, 0.3082, 0.594], "loss/view": [0.2608, 0.1287, 0.507], "loss/score": [0.0606, 0.0204, 0.663], "loss/angle": [0.5223, 0.4652, 0.109], "loss/width": [0.4798, 0.2291, 0.523], "loss/tolerance": [1.267, 0.4312, 0.66], "loss": [3.35, 1.583, 0.527]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, [-1.282, -0.5993, -0.0179]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.228, "peak_gpu_mib": 2133.2, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/box", "group": "stage", "method": "GSNet", "sets": ["grouper=box"], "slot": "grouper", "component": "LocalGroup", "variant": "box", "verdict": "runs", "judge": 2, "config_hash": "2003d8115c16a4a8", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=box -o stage__GSNet__grouper__box.yaml", "probe": "grasppanda probe stage__GSNet__grouper__box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [163, 236], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5587], "loss/graspness": [5.176, 0.3988], "loss/view": [6.291, 0.2762], "loss/score": [1.527, 0.09458], "loss/width": [3.659, 0.4262], "loss": [17.44, 1.755]}, "trend": {"loss/objectness": [0.7893, 0.5966, 0.244], "loss/graspness": [5.176, 0.3791, 0.927], "loss/view": [6.291, 0.4034, 0.936], "loss/score": [1.527, 0.09466, 0.938], "loss/width": [3.659, 0.2523, 0.931], "loss": [17.44, 1.726, 0.901]}, "real_seeds": {"min": 0.258, "mean": 0.898, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.101, 0.1516, 0.2705], [0.129, 0.1602, 0.3611]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.171, "peak_gpu_mib": 1912.0, "seconds": 35.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/box", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=box"], "slot": "grouper", "component": "LocalGroup", "variant": "box", "verdict": "runs", "judge": 2, "config_hash": "bee5bb7167fec441", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=box -o stage__EconomicGrasp__grouper__box.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15347496, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5473], "loss/graspness": [5.216, 0.2649], "loss/view": [6.545, 0.6937], "loss/angle": [2.73, 0.632], "loss/depth": [1.135, 0.293], "loss/score": [1.309, 0.559], "loss/width": [1.411, 0.5748], "loss": [19.13, 3.565]}, "trend": {"loss/objectness": [0.7845, 0.5363, 0.316], "loss/graspness": [5.216, 0.3003, 0.942], "loss/view": [6.545, 0.6983, 0.893], "loss/angle": [2.73, 0.7492, 0.726], "loss/depth": [1.135, 0.3801, 0.665], "loss/score": [1.309, 0.6185, 0.528], "loss/width": [1.411, 0.7432, 0.473], "loss": [19.13, 4.026, 0.79]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.145, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.783, -2.538, -2.226], [-2.86, -2.491, -2.031]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.621, "peak_gpu_mib": 1407.6, "seconds": 41.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/box", "group": "stage", "method": "FineGrasp", "sets": ["grouper=box"], "slot": "grouper", "component": "LocalGroup", "variant": "box", "verdict": "runs", "judge": 2, "config_hash": "0bdf9b43de803462", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=box -o stage__FineGrasp__grouper__box.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15359496, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6195], "loss/graspness": [2.473, 0.2783], "loss/view": [5.497, 0.6496], "loss/angle": [2.921, 1.043], "loss/depth": [1.033, 0.5314], "loss/score": [2.898, 0.9031], "loss/width": [2.082, 0.6945], "loss": [17.71, 4.72]}, "trend": {"loss/objectness": [0.8058, 0.6299, 0.218], "loss/graspness": [2.473, 0.2804, 0.887], "loss/view": [5.497, 0.6235, 0.887], "loss/angle": [2.921, 1.028, 0.648], "loss/depth": [1.033, 0.5322, 0.485], "loss/score": [2.898, 0.8622, 0.702], "loss/width": [2.082, 0.7583, 0.636], "loss": [17.71, 4.715, 0.734]}, "real_seeds": {"min": 0.446, "mean": 0.97, "zero_iterations": 0}, "supervised_seeds": {"min": 0.05, "mean": 0.124, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.674, -1.54, -1.392], [-1.664, -1.531, -1.418]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.276, "peak_gpu_mib": 2582.7, "seconds": 80.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/box", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=box"], "slot": "grouper", "component": "LocalGroup", "variant": "box", "verdict": "runs", "judge": 2, "config_hash": "d4ecc8af62626b9f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=box -o stage__GraspNet-baseline__grouper__box.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1183596, "iterations": 20, "batch_size": 2, "grasps_per_frame": [622, 588], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5954], "loss/view": [0.2001, 0.09077], "loss/score": [0.0616, 0.03578], "loss/angle": [0.4772, 0.4896], "loss/width": [0.5794, 0.3031], "loss/tolerance": [1.389, 0.622], "loss": [3.469, 2.137]}, "trend": {"loss/objectness": [0.7623, 0.6263, 0.179], "loss/view": [0.2001, 0.09046, 0.548], "loss/score": [0.0616, 0.0339, 0.45], "loss/angle": [0.4772, 0.4466, 0.064], "loss/width": [0.5794, 0.3792, 0.346], "loss/tolerance": [1.389, 0.7344, 0.471], "loss": [3.469, 2.311, 0.334]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-28.91, -3.367, 13.28], [-26.61, 0.7147, 23.22]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.2, "peak_gpu_mib": 1940.3, "seconds": 11.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/box", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=box"], "slot": "grouper", "component": "LocalGroup", "variant": "box", "verdict": "runs", "judge": 2, "config_hash": "fd8caefd6ef099b8", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=box -o stage__Scale-Balanced-Grasp__grouper__box.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__box.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1280492, "iterations": 20, "batch_size": 2, "grasps_per_frame": [23, 4], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3216], "loss/view": [0.2608, 0.1119], "loss/score": [0.06205, 0.03038], "loss/angle": [0.5228, 0.4746], "loss/width": [0.4871, 0.1305], "loss/tolerance": [1.16, 0.5563], "loss": [3.252, 1.625]}, "trend": {"loss/objectness": [0.7596, 0.3062, 0.597], "loss/view": [0.2608, 0.1278, 0.51], "loss/score": [0.06205, 0.02508, 0.596], "loss/angle": [0.5228, 0.4624, 0.116], "loss/width": [0.4871, 0.1779, 0.635], "loss/tolerance": [1.16, 0.5494, 0.526], "loss": [3.252, 1.649, 0.493]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.5116, 1.309, 2.252], [-0.5425, -0.4351, -0.2254]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.255, "peak_gpu_mib": 2133.2, "seconds": 12.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/cylinder-attentive", "group": "stage", "method": "GSNet", "sets": ["grouper=cylinder-attentive"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "f8111784c92f0c54", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=cylinder-attentive -o stage__GSNet__grouper__cylinder-attentive.yaml", "probe": "grasppanda probe stage__GSNet__grouper__cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15485615, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1004], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.564], "loss/graspness": [5.176, 0.2899], "loss/view": [6.291, 0.4255], "loss/score": [0.2553, 0.05701], "loss/width": [2.291, 0.2557], "loss": [14.8, 1.592]}, "trend": {"loss/objectness": [0.7893, 0.6053, 0.233], "loss/graspness": [5.176, 0.2928, 0.943], "loss/view": [6.291, 0.3716, 0.941], "loss/score": [0.2553, 0.05902, 0.769], "loss/width": [2.291, 0.3467, 0.849], "loss": [14.8, 1.675, 0.887]}, "real_seeds": {"min": 0.824, "mean": 0.984, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.1112, 0.164, 0.3685], [0.1011, 0.1692, 1.296]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.273, "peak_gpu_mib": 2050.6, "seconds": 45.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/cylinder-attentive", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=cylinder-attentive"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "afe5e64422508842", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-attentive -o stage__EconomicGrasp__grouper__cylinder-attentive.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15479336, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6133], "loss/graspness": [5.216, 0.3458], "loss/view": [6.545, 0.6777], "loss/angle": [2.468, 0.7322], "loss/depth": [1.843, 0.3958], "loss/score": [1.78, 0.6533], "loss/width": [2.214, 0.7209], "loss": [20.85, 4.139]}, "trend": {"loss/objectness": [0.7845, 0.612, 0.22], "loss/graspness": [5.216, 0.3943, 0.924], "loss/view": [6.545, 0.6929, 0.894], "loss/angle": [2.468, 0.7204, 0.708], "loss/depth": [1.843, 0.426, 0.769], "loss/score": [1.78, 0.6507, 0.634], "loss/width": [2.214, 0.7602, 0.657], "loss": [20.85, 4.256, 0.796]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.081, "mean": 0.123, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.25, -1.54, -1.095], [-2.201, -1.595, -0.9631]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.212, "peak_gpu_mib": 1703.0, "seconds": 40.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/cylinder-attentive", "group": "stage", "method": "FineGrasp", "sets": ["grouper=cylinder-attentive"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "ef70f701f8b95813", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-attentive -o stage__FineGrasp__grouper__cylinder-attentive.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15491336, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6508], "loss/graspness": [2.473, 0.5957], "loss/view": [5.497, 0.88], "loss/angle": [2.812, 1.125], "loss/depth": [1.729, 0.6847], "loss/score": [1.612, 0.9444], "loss/width": [2.382, 0.9449], "loss": [17.31, 5.826]}, "trend": {"loss/objectness": [0.8058, 0.6531, 0.19], "loss/graspness": [2.473, 0.7127, 0.712], "loss/view": [5.497, 0.6971, 0.873], "loss/angle": [2.812, 1.016, 0.639], "loss/depth": [1.729, 0.5159, 0.702], "loss/score": [1.612, 0.8361, 0.481], "loss/width": [2.382, 0.8586, 0.64], "loss": [17.31, 5.289, 0.694]}, "real_seeds": {"min": 0.332, "mean": 0.903, "zero_iterations": 0}, "supervised_seeds": {"min": 0.017, "mean": 0.13, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.408, -1.261, -1.023], [-1.494, -1.227, -0.9201]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.315, "peak_gpu_mib": 3171.5, "seconds": 88.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/cylinder-attentive", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=cylinder-attentive"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "b7e1b037b438c2a8", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=cylinder-attentive -o stage__GraspNet-baseline__grouper__cylinder-attentive.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1315436, "iterations": 20, "batch_size": 2, "grasps_per_frame": [524, 324], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6773], "loss/view": [0.2001, 0.08908], "loss/score": [0.05996, 0.04448], "loss/angle": [0.4893, 0.4714], "loss/width": [0.4879, 0.2903], "loss/tolerance": [1.058, 0.5967], "loss": [3.058, 2.169]}, "trend": {"loss/objectness": [0.7623, 0.6482, 0.15], "loss/view": [0.2001, 0.08941, 0.553], "loss/score": [0.05996, 0.0396, 0.34], "loss/angle": [0.4893, 0.4637, 0.052], "loss/width": [0.4879, 0.2837, 0.419], "loss/tolerance": [1.058, 0.634, 0.401], "loss": [3.058, 2.159, 0.294]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-23.76, 1.023, 42.35], [-15.69, 1.217, 46.96]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 2014.0, "seconds": 11.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/cylinder-attentive", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=cylinder-attentive"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "d02a475d32f55ff8", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=cylinder-attentive -o stage__Scale-Balanced-Grasp__grouper__cylinder-attentive.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1412332, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 10], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3281], "loss/view": [0.2608, 0.1142], "loss/score": [0.04035, 0.01783], "loss/angle": [0.5059, 0.4559], "loss/width": [0.6668, 0.1083], "loss/tolerance": [1.082, 0.2439], "loss": [3.316, 1.268]}, "trend": {"loss/objectness": [0.7596, 0.3079, 0.595], "loss/view": [0.2608, 0.1271, 0.513], "loss/score": [0.04035, 0.01923, 0.523], "loss/angle": [0.5059, 0.4525, 0.106], "loss/width": [0.6668, 0.1723, 0.742], "loss/tolerance": [1.082, 0.3803, 0.649], "loss": [3.316, 1.459, 0.56]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, [-0.2938, 0.007297, 1.684]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.288, "peak_gpu_mib": 2209.2, "seconds": 13.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/cylinder-edgeconv", "group": "stage", "method": "GSNet", "sets": ["grouper=cylinder-edgeconv"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-edgeconv", "verdict": "runs", "judge": 2, "config_hash": "ee2d0628bc4ca911", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=cylinder-edgeconv -o stage__GSNet__grouper__cylinder-edgeconv.yaml", "probe": "grasppanda probe stage__GSNet__grouper__cylinder-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15484847, "iterations": 20, "batch_size": 4, "grasps_per_frame": [791, 650], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5875], "loss/graspness": [5.176, 0.3359], "loss/view": [6.291, 0.513], "loss/score": [0.9234, 0.07694], "loss/width": [3.287, 0.1876], "loss": [16.47, 1.701]}, "trend": {"loss/objectness": [0.7893, 0.6047, 0.234], "loss/graspness": [5.176, 0.3207, 0.938], "loss/view": [6.291, 0.426, 0.932], "loss/score": [0.9234, 0.09003, 0.903], "loss/width": [3.287, 0.2336, 0.929], "loss": [16.47, 1.675, 0.898]}, "real_seeds": {"min": 0.697, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.06471, 0.1183, 0.3102], [0.06601, 0.1219, 0.3251]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.167, "peak_gpu_mib": 2041.0, "seconds": 36.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/cylinder-edgeconv", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=cylinder-edgeconv"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-edgeconv", "verdict": "runs", "judge": 2, "config_hash": "7fee8652c7a3accb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-edgeconv -o stage__EconomicGrasp__grouper__cylinder-edgeconv.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__cylinder-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15478568, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5957], "loss/graspness": [5.216, 0.2608], "loss/view": [6.545, 0.7258], "loss/angle": [2.685, 0.7516], "loss/depth": [1.753, 0.3901], "loss/score": [2.077, 0.686], "loss/width": [1.255, 0.7201], "loss": [20.32, 4.13]}, "trend": {"loss/objectness": [0.7845, 0.573, 0.27], "loss/graspness": [5.216, 0.2595, 0.95], "loss/view": [6.545, 0.6923, 0.894], "loss/angle": [2.685, 0.7957, 0.704], "loss/depth": [1.753, 0.4406, 0.749], "loss/score": [2.077, 0.7077, 0.659], "loss/width": [1.255, 0.7338, 0.415], "loss": [20.32, 4.203, 0.793]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.651, -2.057, -1.45], [-2.595, -2.051, -1.555]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.466, "peak_gpu_mib": 1648.9, "seconds": 41.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/cylinder-edgeconv", "group": "stage", "method": "FineGrasp", "sets": ["grouper=cylinder-edgeconv"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-edgeconv", "verdict": "runs", "judge": 2, "config_hash": "c3c6d5d7d0e6ccd7", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-edgeconv -o stage__FineGrasp__grouper__cylinder-edgeconv.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__cylinder-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15490568, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6544], "loss/graspness": [2.473, 0.3862], "loss/view": [5.497, 0.6082], "loss/angle": [3.133, 0.9512], "loss/depth": [2.216, 0.5338], "loss/score": [1.328, 0.8296], "loss/width": [3.245, 1.252], "loss": [18.7, 5.216]}, "trend": {"loss/objectness": [0.8058, 0.6604, 0.18], "loss/graspness": [2.473, 0.3942, 0.841], "loss/view": [5.497, 0.6369, 0.884], "loss/angle": [3.133, 0.9315, 0.703], "loss/depth": [2.216, 0.4975, 0.775], "loss/score": [1.328, 0.7958, 0.401], "loss/width": [3.245, 1.373, 0.577], "loss": [18.7, 5.289, 0.717]}, "real_seeds": {"min": 0.307, "mean": 0.948, "zero_iterations": 0}, "supervised_seeds": {"min": 0.002, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.451, -2.216, -1.969], [-2.47, -2.224, -1.965]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.337, "peak_gpu_mib": 3066.6, "seconds": 81.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/cylinder-edgeconv", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=cylinder-edgeconv"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-edgeconv", "verdict": "runs", "judge": 2, "config_hash": "637db81777b01926", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=cylinder-edgeconv -o stage__GraspNet-baseline__grouper__cylinder-edgeconv.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__cylinder-edgeconv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1249132, "iterations": 20, "batch_size": 2, "grasps_per_frame": [414, 152], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6393], "loss/view": [0.2001, 0.09157], "loss/score": [0.05531, 0.0362], "loss/angle": [0.5071, 0.4569], "loss/width": [0.5881, 0.3162], "loss/tolerance": [1.272, 0.4495], "loss": [3.385, 1.99]}, "trend": {"loss/objectness": [0.7623, 0.6419, 0.158], "loss/view": [0.2001, 0.09056, 0.547], "loss/score": [0.05531, 0.03793, 0.314], "loss/angle": [0.5071, 0.4602, 0.093], "loss/width": [0.5881, 0.3405, 0.421], "loss/tolerance": [1.272, 0.6535, 0.486], "loss": [3.385, 2.224, 0.343]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-16.26, 0.3314, 25.52], [-8.778, 0.9907, 25.7]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.212, "peak_gpu_mib": 1973.7, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/cylinder-edgeconv", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=cylinder-edgeconv"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-edgeconv", "verdict": "runs", "judge": 2, "config_hash": "34e5d20090971014", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=cylinder-edgeconv -o stage__Scale-Balanced-Grasp__grouper__cylinder-edgeconv.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__cylinder-edgeconv.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1346028, "iterations": 20, "batch_size": 2, "grasps_per_frame": [42, 29], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3261], "loss/view": [0.2608, 0.1105], "loss/score": [0.0479, 0.02951], "loss/angle": [0.5328, 0.4573], "loss/width": [0.5296, 0.1249], "loss/tolerance": [1.024, 0.3072], "loss": [3.155, 1.355]}, "trend": {"loss/objectness": [0.7596, 0.3146, 0.586], "loss/view": [0.2608, 0.1266, 0.515], "loss/score": [0.0479, 0.02159, 0.549], "loss/angle": [0.5328, 0.456, 0.144], "loss/width": [0.5296, 0.1381, 0.739], "loss/tolerance": [1.024, 0.2903, 0.717], "loss": [3.155, 1.347, 0.573]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.08169, 0.5144, 1.52], [-0.1361, 0.5675, 1.173]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.244, "peak_gpu_mib": 2165.9, "seconds": 12.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/cylinder-invres", "group": "stage", "method": "GSNet", "sets": ["grouper=cylinder-invres"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-invres", "verdict": "runs", "judge": 2, "config_hash": "a6795a3f70454042", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=cylinder-invres -o stage__GSNet__grouper__cylinder-invres.yaml", "probe": "grasppanda probe stage__GSNet__grouper__cylinder-invres.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16011951, "iterations": 20, "batch_size": 4, "grasps_per_frame": [653, 706], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5728], "loss/graspness": [5.176, 0.3349], "loss/view": [6.291, 0.365], "loss/score": [0.3852, 0.03794], "loss/width": [2.443, 0.2443], "loss": [15.09, 1.555]}, "trend": {"loss/objectness": [0.7893, 0.6128, 0.224], "loss/graspness": [5.176, 0.3579, 0.931], "loss/view": [6.291, 0.3784, 0.94], "loss/score": [0.3852, 0.04283, 0.889], "loss/width": [2.443, 0.2439, 0.9], "loss": [15.09, 1.636, 0.892]}, "real_seeds": {"min": 0.703, "mean": 0.967, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[0.1275, 0.2363, 0.4237], [0.1072, 0.2106, 1.169]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.224, "peak_gpu_mib": 1957.0, "seconds": 43.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/cylinder-invres", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=cylinder-invres"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-invres", "verdict": "runs", "judge": 2, "config_hash": "e0456b2a6594cab2", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-invres -o stage__EconomicGrasp__grouper__cylinder-invres.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__cylinder-invres.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16005672, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5761], "loss/graspness": [5.216, 0.3178], "loss/view": [6.545, 0.7013], "loss/angle": [2.703, 0.747], "loss/depth": [1.406, 0.3846], "loss/score": [2.387, 0.615], "loss/width": [1.387, 0.624], "loss": [20.43, 3.966]}, "trend": {"loss/objectness": [0.7845, 0.5815, 0.259], "loss/graspness": [5.216, 0.3502, 0.933], "loss/view": [6.545, 0.7181, 0.89], "loss/angle": [2.703, 0.739, 0.727], "loss/depth": [1.406, 0.3608, 0.743], "loss/score": [2.387, 0.603, 0.747], "loss/width": [1.387, 0.6716, 0.516], "loss": [20.43, 4.024, 0.803]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-2.516, -2.095, -1.635], [-2.89, -2.1, -1.685]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.208, "peak_gpu_mib": 1442.8, "seconds": 43.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/cylinder-invres", "group": "stage", "method": "FineGrasp", "sets": ["grouper=cylinder-invres"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-invres", "verdict": "runs", "judge": 2, "config_hash": "10df4af13f0bb132", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-invres -o stage__FineGrasp__grouper__cylinder-invres.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__cylinder-invres.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 16017672, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6454], "loss/graspness": [2.473, 0.3409], "loss/view": [5.497, 0.6058], "loss/angle": [2.68, 0.9539], "loss/depth": [1.589, 0.485], "loss/score": [1.741, 0.8157], "loss/width": [1.471, 0.7279], "loss": [16.26, 4.575]}, "trend": {"loss/objectness": [0.8058, 0.6523, 0.19], "loss/graspness": [2.473, 0.3656, 0.852], "loss/view": [5.497, 0.724, 0.868], "loss/angle": [2.68, 0.9911, 0.63], "loss/depth": [1.589, 0.5376, 0.662], "loss/score": [1.741, 0.8467, 0.514], "loss/width": [1.471, 0.793, 0.461], "loss": [16.26, 4.91, 0.698]}, "real_seeds": {"min": 0.373, "mean": 0.949, "zero_iterations": 0}, "supervised_seeds": {"min": 0.051, "mean": 0.13, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-2.197, -2.099, -1.964], [-2.241, -2.092, -1.966]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.297, "peak_gpu_mib": 2650.1, "seconds": 87.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/cylinder-invres", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=cylinder-invres"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-invres", "verdict": "runs", "judge": 2, "config_hash": "50014184681cd00f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=cylinder-invres -o stage__GraspNet-baseline__grouper__cylinder-invres.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__cylinder-invres.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1710444, "iterations": 20, "batch_size": 2, "grasps_per_frame": [124, 187], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5699], "loss/view": [0.2001, 0.08618], "loss/score": [0.06133, 0.03098], "loss/angle": [0.5064, 0.4391], "loss/width": [0.5438, 0.2314], "loss/tolerance": [1.122, 0.6171], "loss": [3.196, 1.975]}, "trend": {"loss/objectness": [0.7623, 0.621, 0.185], "loss/view": [0.2001, 0.08898, 0.555], "loss/score": [0.06133, 0.02996, 0.511], "loss/angle": [0.5064, 0.4525, 0.107], "loss/width": [0.5438, 0.3424, 0.37], "loss/tolerance": [1.122, 0.6898, 0.385], "loss": [3.196, 2.225, 0.304]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-39.31, -1.166, 39.11], [-66.97, -5.202, 18.58]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.213, "peak_gpu_mib": 1969.9, "seconds": 11.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/cylinder-invres", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=cylinder-invres"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-invres", "verdict": "runs", "judge": 2, "config_hash": "eefb830b29fcc69a", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=cylinder-invres -o stage__Scale-Balanced-Grasp__grouper__cylinder-invres.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__cylinder-invres.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1807340, "iterations": 20, "batch_size": 2, "grasps_per_frame": [2, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3292], "loss/view": [0.2608, 0.1147], "loss/score": [0.04408, 0.01867], "loss/angle": [0.5146, 0.4594], "loss/width": [0.5005, 0.1562], "loss/tolerance": [0.9214, 0.4311], "loss": [3.001, 1.509]}, "trend": {"loss/objectness": [0.7596, 0.3236, 0.574], "loss/view": [0.2608, 0.129, 0.505], "loss/score": [0.04408, 0.01896, 0.57], "loss/angle": [0.5146, 0.4503, 0.125], "loss/width": [0.5005, 0.1665, 0.667], "loss/tolerance": [0.9214, 0.3968, 0.569], "loss": [3.001, 1.485, 0.505]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[3.541, 3.675, 3.81], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.253, "peak_gpu_mib": 2161.6, "seconds": 12.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/cylinder-vector-attention", "group": "stage", "method": "GSNet", "sets": ["grouper=cylinder-vector-attention"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-vector-attention", "verdict": "runs", "judge": 2, "config_hash": "a3990abf248be5ae", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=cylinder-vector-attention -o stage__GSNet__grouper__cylinder-vector-attention.yaml", "probe": "grasppanda probe stage__GSNet__grouper__cylinder-vector-attention.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15814319, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5866], "loss/graspness": [5.176, 0.2836], "loss/view": [6.291, 0.3275], "loss/score": [0.0669, 0.02034], "loss/width": [2.194, 0.1642], "loss": [14.52, 1.382]}, "trend": {"loss/objectness": [0.7893, 0.6183, 0.217], "loss/graspness": [5.176, 0.3087, 0.94], "loss/view": [6.291, 0.326, 0.948], "loss/score": [0.0669, 0.02768, 0.586], "loss/width": [2.194, 0.1902, 0.913], "loss": [14.52, 1.471, 0.899]}, "real_seeds": {"min": 0.395, "mean": 0.964, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [[0.06845, 0.09824, 0.1479], [0.07343, 0.1003, 0.2577]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.182, "peak_gpu_mib": 2167.4, "seconds": 36.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/cylinder-vector-attention", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=cylinder-vector-attention"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-vector-attention", "verdict": "runs", "judge": 2, "config_hash": "05674ad7613ce592", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-vector-attention -o stage__EconomicGrasp__grouper__cylinder-vector-attention.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__cylinder-vector-attention.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15808040, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5132], "loss/graspness": [5.216, 0.2461], "loss/view": [6.545, 0.7036], "loss/angle": [3.074, 0.827], "loss/depth": [1.919, 0.4146], "loss/score": [1.736, 0.716], "loss/width": [1.525, 0.9536], "loss": [20.8, 4.374]}, "trend": {"loss/objectness": [0.7845, 0.5167, 0.341], "loss/graspness": [5.216, 0.2749, 0.947], "loss/view": [6.545, 0.7045, 0.892], "loss/angle": [3.074, 0.758, 0.753], "loss/depth": [1.919, 0.4008, 0.791], "loss/score": [1.736, 0.6299, 0.637], "loss/width": [1.525, 0.8456, 0.446], "loss": [20.8, 4.13, 0.801]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.145, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 5], "score_quantiles": [[-3.03, -2.815, -2.647], [-3.148, -2.801, -2.626]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.378, "peak_gpu_mib": 1772.7, "seconds": 44.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/cylinder-vector-attention", "group": "stage", "method": "FineGrasp", "sets": ["grouper=cylinder-vector-attention"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-vector-attention", "verdict": "runs", "judge": 2, "config_hash": "73dc0b81039f39ed", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=cylinder-vector-attention -o stage__FineGrasp__grouper__cylinder-vector-attention.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__cylinder-vector-attention.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15820040, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.62], "loss/graspness": [2.473, 0.2876], "loss/view": [5.497, 0.6023], "loss/angle": [3.211, 0.9822], "loss/depth": [2.179, 0.4921], "loss/score": [1.706, 0.8888], "loss/width": [1.231, 0.8334], "loss": [17.1, 4.706]}, "trend": {"loss/objectness": [0.8058, 0.6283, 0.22], "loss/graspness": [2.473, 0.2973, 0.88], "loss/view": [5.497, 0.6794, 0.876], "loss/angle": [3.211, 0.9598, 0.701], "loss/depth": [2.179, 0.5313, 0.756], "loss/score": [1.706, 0.8363, 0.51], "loss/width": [1.231, 0.7724, 0.372], "loss": [17.1, 4.705, 0.725]}, "real_seeds": {"min": 0.158, "mean": 0.95, "zero_iterations": 0}, "supervised_seeds": {"min": 0.07, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 5], "score_quantiles": [[-1.846, -1.805, -1.778], [-1.846, -1.802, -1.775]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.314, "peak_gpu_mib": 3315.3, "seconds": 87.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/cylinder-vector-attention", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=cylinder-vector-attention"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-vector-attention", "verdict": "runs", "judge": 2, "config_hash": "17313c454e3e72dd", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=cylinder-vector-attention -o stage__GraspNet-baseline__grouper__cylinder-vector-attention.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__cylinder-vector-attention.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1578604, "iterations": 20, "batch_size": 2, "grasps_per_frame": [380, 454], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6067], "loss/view": [0.2001, 0.08792], "loss/score": [0.07266, 0.0431], "loss/angle": [0.5172, 0.5047], "loss/width": [0.669, 0.2275], "loss/tolerance": [0.9118, 0.5546], "loss": [3.133, 2.025]}, "trend": {"loss/objectness": [0.7623, 0.6246, 0.181], "loss/view": [0.2001, 0.09033, 0.549], "loss/score": [0.07266, 0.03421, 0.529], "loss/angle": [0.5172, 0.4699, 0.091], "loss/width": [0.669, 0.3273, 0.511], "loss/tolerance": [0.9118, 0.7501, 0.177], "loss": [3.133, 2.296, 0.267]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-35.39, -12.22, 17.83], [-12.64, 5.118, 47.31]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.22, "peak_gpu_mib": 2071.8, "seconds": 12.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/cylinder-vector-attention", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=cylinder-vector-attention"], "slot": "grouper", "component": "LocalGroup", "variant": "cylinder-vector-attention", "verdict": "runs-empty", "judge": 2, "config_hash": "6e3a9cadae1af298", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=cylinder-vector-attention -o stage__Scale-Balanced-Grasp__grouper__cylinder-vector-attention.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__cylinder-vector-attention.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1675500, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3424], "loss/view": [0.2608, 0.1069], "loss/score": [0.03955, 0.0199], "loss/angle": [0.5089, 0.4666], "loss/width": [0.4332, 0.1267], "loss/tolerance": [0.9845, 0.2887], "loss": [2.986, 1.351]}, "trend": {"loss/objectness": [0.7596, 0.3204, 0.578], "loss/view": [0.2608, 0.1227, 0.529], "loss/score": [0.03955, 0.01951, 0.507], "loss/angle": [0.5089, 0.4571, 0.102], "loss/width": [0.4332, 0.151, 0.651], "loss/tolerance": [0.9845, 0.3526, 0.642], "loss": [2.986, 1.423, 0.523]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.301, "peak_gpu_mib": 2264.7, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-ball", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-ball"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-ball", "verdict": "runs", "judge": 2, "config_hash": "6b8a4d116033b5e0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-ball -o stage__GSNet__grouper__depth-ball.yaml", "probe": "grasppanda probe stage__GSNet__grouper__depth-ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15197423, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5796], "loss/graspness": [5.176, 0.2755], "loss/view": [6.291, 0.336], "loss/score": [1.43, 0.04575], "loss/width": [2.386, 0.1957], "loss": [16.07, 1.433]}, "trend": {"loss/objectness": [0.7893, 0.6182, 0.217], "loss/graspness": [5.176, 0.3073, 0.941], "loss/view": [6.291, 0.3277, 0.948], "loss/score": [1.43, 0.05152, 0.964], "loss/width": [2.386, 0.2189, 0.908], "loss": [16.07, 1.524, 0.905]}, "real_seeds": {"min": 0.356, "mean": 0.96, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1826, 0.2102, 0.231], [0.1838, 0.2073, 0.2297]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.258, "peak_gpu_mib": 3408.9, "seconds": 53.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-ball", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-ball"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-ball", "verdict": "runs", "judge": 2, "config_hash": "2f91fe7e5c281d77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-ball -o stage__EconomicGrasp__grouper__depth-ball.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__depth-ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15191144, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5848], "loss/graspness": [5.216, 0.2339], "loss/view": [6.545, 0.7526], "loss/angle": [2.848, 0.9088], "loss/depth": [2.109, 0.4717], "loss/score": [1.404, 0.7379], "loss/width": [2.359, 0.6293], "loss": [21.27, 4.319]}, "trend": {"loss/objectness": [0.7845, 0.569, 0.275], "loss/graspness": [5.216, 0.2474, 0.953], "loss/view": [6.545, 0.6915, 0.894], "loss/angle": [2.848, 0.8579, 0.699], "loss/depth": [2.109, 0.4972, 0.764], "loss/score": [1.404, 0.7271, 0.482], "loss/width": [2.359, 0.7271, 0.692], "loss": [21.27, 4.317, 0.797]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.141, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.708, -1.599, -1.521], [-1.709, -1.599, -1.52]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 3327.5, "seconds": 49.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-ball", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-ball"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-ball", "verdict": "runs", "judge": 2, "config_hash": "c267c67be7ff708e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-ball -o stage__FineGrasp__grouper__depth-ball.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__depth-ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15203144, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5928], "loss/graspness": [2.473, 0.2602], "loss/view": [5.497, 0.663], "loss/angle": [2.199, 0.9892], "loss/depth": [1.845, 0.5243], "loss/score": [2.166, 0.8164], "loss/width": [0.9613, 0.6874], "loss": [15.95, 4.533]}, "trend": {"loss/objectness": [0.8058, 0.605, 0.249], "loss/graspness": [2.473, 0.2703, 0.891], "loss/view": [5.497, 0.6631, 0.879], "loss/angle": [2.199, 0.8804, 0.6], "loss/depth": [1.845, 0.4803, 0.74], "loss/score": [2.166, 0.7568, 0.651], "loss/width": [0.9613, 0.7733, 0.195], "loss": [15.95, 4.429, 0.722]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.068, "mean": 0.953, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.122, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.816, -1.774, -1.713], [-1.825, -1.773, -1.711]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.429, "peak_gpu_mib": 6433.8, "seconds": 97.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-ball", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-ball"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-ball", "verdict": "runs", "judge": 2, "config_hash": "acf54181ef9d52b6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-ball -o stage__GraspNet-baseline__grouper__depth-ball.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__depth-ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [622, 349], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5391], "loss/view": [0.2001, 0.07758], "loss/score": [0.05549, 0.04298], "loss/angle": [0.5364, 0.4807], "loss/width": [0.624, 0.2048], "loss/tolerance": [1.136, 0.5101], "loss": [3.314, 1.855]}, "trend": {"loss/objectness": [0.7623, 0.5848, 0.233], "loss/view": [0.2001, 0.07946, 0.603], "loss/score": [0.05549, 0.03301, 0.405], "loss/angle": [0.5364, 0.4623, 0.138], "loss/width": [0.624, 0.1867, 0.701], "loss/tolerance": [1.136, 0.4536, 0.601], "loss": [3.314, 1.8, 0.457]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-25.34, 0.3032, 45.94], [-13.09, 0.3893, 16.02]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.233, "peak_gpu_mib": 2707.1, "seconds": 12.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-ball", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-ball"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-ball", "verdict": "runs", "judge": 2, "config_hash": "f8d450a726784b3d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-ball -o stage__Scale-Balanced-Grasp__grouper__depth-ball.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__depth-ball.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1122860, "iterations": 20, "batch_size": 2, "grasps_per_frame": [252, 255], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.2929], "loss/view": [0.2608, 0.1041], "loss/score": [0.05363, 0.01689], "loss/angle": [0.5053, 0.4475], "loss/width": [0.6409, 0.1695], "loss/tolerance": [1.189, 0.3466], "loss": [3.41, 1.377]}, "trend": {"loss/objectness": [0.7596, 0.2868, 0.622], "loss/view": [0.2608, 0.1187, 0.545], "loss/score": [0.05363, 0.01695, 0.684], "loss/angle": [0.5053, 0.4321, 0.145], "loss/width": [0.6409, 0.1749, 0.727], "loss/tolerance": [1.189, 0.3371, 0.717], "loss": [3.41, 1.367, 0.599]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-27.73, -0.2589, 11.43], [-10.55, -0.3089, 16.09]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.306, "peak_gpu_mib": 2901.0, "seconds": 13.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-box", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-box"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-box", "verdict": "runs", "judge": 2, "config_hash": "246602025c307546", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-box -o stage__GSNet__grouper__depth-box.yaml", "probe": "grasppanda probe stage__GSNet__grouper__depth-box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15328751, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.59], "loss/graspness": [5.176, 0.2718], "loss/view": [6.291, 0.3332], "loss/score": [2.112, 0.04036], "loss/width": [3.078, 0.1826], "loss": [17.45, 1.418]}, "trend": {"loss/objectness": [0.7893, 0.626, 0.207], "loss/graspness": [5.176, 0.3078, 0.941], "loss/view": [6.291, 0.3301, 0.948], "loss/score": [2.112, 0.05289, 0.975], "loss/width": [3.078, 0.2027, 0.934], "loss": [17.45, 1.519, 0.913]}, "real_seeds": {"min": 0.326, "mean": 0.958, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1557, 0.207, 0.2686], [0.1499, 0.2073, 0.7979]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.228, "peak_gpu_mib": 3410.4, "seconds": 37.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-box", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-box"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-box", "verdict": "runs", "judge": 2, "config_hash": "11d29dfda25e9870", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-box -o stage__EconomicGrasp__grouper__depth-box.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__depth-box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15322472, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6353], "loss/graspness": [5.216, 0.2333], "loss/view": [6.545, 0.6762], "loss/angle": [2.149, 0.7448], "loss/depth": [1.988, 0.3934], "loss/score": [2.454, 0.616], "loss/width": [0.9848, 0.8228], "loss": [20.12, 4.122]}, "trend": {"loss/objectness": [0.7845, 0.614, 0.217], "loss/graspness": [5.216, 0.2554, 0.951], "loss/view": [6.545, 0.6623, 0.899], "loss/angle": [2.149, 0.7617, 0.646], "loss/depth": [1.988, 0.4237, 0.787], "loss/score": [2.454, 0.6508, 0.735], "loss/width": [0.9848, 0.732, 0.257], "loss": [20.12, 4.1, 0.796]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-3.626, -3.428, -3.251], [-3.616, -3.429, -3.271]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.33, "peak_gpu_mib": 3340.0, "seconds": 51.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-box", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-box"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-box", "verdict": "runs", "judge": 2, "config_hash": "5a7da377e93b4dad", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-box -o stage__FineGrasp__grouper__depth-box.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__depth-box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15334472, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 995], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.624], "loss/graspness": [2.473, 0.3544], "loss/view": [5.497, 0.9355], "loss/angle": [2.975, 1.088], "loss/depth": [1.522, 0.5429], "loss/score": [2.222, 0.909], "loss/width": [1.458, 0.8087], "loss": [16.95, 5.262]}, "trend": {"loss/objectness": [0.8058, 0.6295, 0.219], "loss/graspness": [2.473, 0.3467, 0.86], "loss/view": [5.497, 0.7122, 0.87], "loss/angle": [2.975, 0.8726, 0.707], "loss/depth": [1.522, 0.45, 0.704], "loss/score": [2.222, 0.7435, 0.665], "loss/width": [1.458, 0.807, 0.446], "loss": [16.95, 4.561, 0.731]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.006, "mean": 0.819, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.126, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.74, -1.668, -1.573], [-1.733, -1.66, -1.527]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.428, "peak_gpu_mib": 6446.7, "seconds": 89.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-box", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-box"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-box", "verdict": "runs", "judge": 2, "config_hash": "daafed7fef405a60", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-box -o stage__GraspNet-baseline__grouper__depth-box.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__depth-box.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1091756, "iterations": 20, "batch_size": 2, "grasps_per_frame": [591, 672], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5486], "loss/view": [0.2001, 0.08458], "loss/score": [0.086, 0.03769], "loss/angle": [0.4907, 0.4309], "loss/width": [0.4859, 0.1946], "loss/tolerance": [1.334, 0.4436], "loss": [3.359, 1.74]}, "trend": {"loss/objectness": [0.7623, 0.614, 0.195], "loss/view": [0.2001, 0.08719, 0.564], "loss/score": [0.086, 0.04118, 0.521], "loss/angle": [0.4907, 0.4253, 0.133], "loss/width": [0.4859, 0.2065, 0.575], "loss/tolerance": [1.334, 0.4498, 0.663], "loss": [3.359, 1.824, 0.457]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [[-12.82, -0.3646, 12.51], [-11.25, -0.3734, 9.425]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.293, "peak_gpu_mib": 2707.8, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-box", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-box"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-box", "verdict": "runs-empty", "judge": 2, "config_hash": "505e3d0a1bee5611", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-box -o stage__Scale-Balanced-Grasp__grouper__depth-box.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__depth-box.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1188652, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3206], "loss/view": [0.2608, 0.1062], "loss/score": [0.04957, 0.02088], "loss/angle": [0.4894, 0.4537], "loss/width": [0.3994, 0.2001], "loss/tolerance": [1.112, 0.3982], "loss": [3.07, 1.5]}, "trend": {"loss/objectness": [0.7596, 0.308, 0.594], "loss/view": [0.2608, 0.1207, 0.537], "loss/score": [0.04957, 0.01861, 0.625], "loss/angle": [0.4894, 0.4369, 0.107], "loss/width": [0.3994, 0.1719, 0.57], "loss/tolerance": [1.112, 0.3261, 0.707], "loss": [3.07, 1.382, 0.55]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.396, "peak_gpu_mib": 2901.8, "seconds": 15.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-cylinder-attentive", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-cylinder-attentive"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "3ff885ea28c65bfe", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-attentive -o stage__GSNet__grouper__depth-cylinder-attentive.yaml", "probe": "grasppanda probe stage__GSNet__grouper__depth-cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15394351, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5962], "loss/graspness": [5.176, 0.2783], "loss/view": [6.291, 0.3659], "loss/score": [0.4456, 0.01622], "loss/width": [2.754, 0.1827], "loss": [15.46, 1.439]}, "trend": {"loss/objectness": [0.7893, 0.6248, 0.208], "loss/graspness": [5.176, 0.3015, 0.942], "loss/view": [6.291, 0.3366, 0.946], "loss/score": [0.4456, 0.02424, 0.946], "loss/width": [2.754, 0.1917, 0.93], "loss": [15.46, 1.479, 0.904]}, "real_seeds": {"min": 0.77, "mean": 0.988, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.0981, 0.1256, 0.1788], [0.0996, 0.1265, 1.352]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.487, "peak_gpu_mib": 6004.2, "seconds": 54.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-cylinder-attentive", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-cylinder-attentive"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "f5a4bb50d3899213", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-attentive -o stage__EconomicGrasp__grouper__depth-cylinder-attentive.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__depth-cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15388072, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5778], "loss/graspness": [5.216, 0.2372], "loss/view": [6.545, 0.6805], "loss/angle": [2.809, 0.8304], "loss/depth": [1.774, 0.4202], "loss/score": [1.862, 0.6359], "loss/width": [1.052, 0.6839], "loss": [20.04, 4.066]}, "trend": {"loss/objectness": [0.7845, 0.559, 0.287], "loss/graspness": [5.216, 0.2722, 0.948], "loss/view": [6.545, 0.6683, 0.898], "loss/angle": [2.809, 0.8112, 0.711], "loss/depth": [1.774, 0.4416, 0.751], "loss/score": [1.862, 0.6591, 0.646], "loss/width": [1.052, 0.6908, 0.344], "loss": [20.04, 4.102, 0.795]}, "real_seeds": {"min": 0.927, "mean": 0.995, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.56, -1.419, -1.253], [-1.543, -1.408, -1.256]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.424, "peak_gpu_mib": 6099.4, "seconds": 47.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-cylinder-attentive", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-cylinder-attentive"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "d0db9a83f94726a2", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-attentive -o stage__FineGrasp__grouper__depth-cylinder-attentive.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__depth-cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15400072, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6442], "loss/graspness": [2.473, 0.3388], "loss/view": [5.497, 0.6122], "loss/angle": [2.545, 0.9463], "loss/depth": [1.957, 0.4696], "loss/score": [1.585, 0.8222], "loss/width": [2.834, 0.7247], "loss": [17.7, 4.558]}, "trend": {"loss/objectness": [0.8058, 0.6507, 0.192], "loss/graspness": [2.473, 0.35, 0.858], "loss/view": [5.497, 0.8094, 0.853], "loss/angle": [2.545, 0.9715, 0.618], "loss/depth": [1.957, 0.4705, 0.76], "loss/score": [1.585, 0.8402, 0.47], "loss/width": [2.834, 0.6849, 0.758], "loss": [17.7, 4.777, 0.73]}, "real_seeds": {"min": 0.003, "mean": 0.718, "zero_iterations": 0}, "supervised_seeds": {"min": 0.072, "mean": 0.161, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-3.03, -2.918, -2.827], [-3.031, -2.922, -2.838]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.717, "peak_gpu_mib": 11963.3, "seconds": 104.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-cylinder-attentive", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-cylinder-attentive"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-cylinder-attentive", "verdict": "runs", "judge": 2, "config_hash": "ef0b5de0fb90d976", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-cylinder-attentive -o stage__GraspNet-baseline__grouper__depth-cylinder-attentive.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__depth-cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1157356, "iterations": 20, "batch_size": 2, "grasps_per_frame": [437, 547], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6297], "loss/view": [0.2001, 0.08466], "loss/score": [0.05584, 0.03721], "loss/angle": [0.523, 0.4866], "loss/width": [0.5191, 0.2811], "loss/tolerance": [1.517, 0.522], "loss": [3.577, 2.041]}, "trend": {"loss/objectness": [0.7623, 0.6193, 0.188], "loss/view": [0.2001, 0.08513, 0.575], "loss/score": [0.05584, 0.03303, 0.408], "loss/angle": [0.523, 0.4643, 0.112], "loss/width": [0.5191, 0.2557, 0.507], "loss/tolerance": [1.517, 0.5343, 0.648], "loss": [3.577, 1.992, 0.443]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-10.71, 0.7504, 23.27], [-19.25, -0.1746, 11.11]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.378, "peak_gpu_mib": 3740.4, "seconds": 15.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-cylinder-attentive", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-cylinder-attentive"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-cylinder-attentive", "verdict": "runs-empty", "judge": 2, "config_hash": "0c848fa3ded51eeb", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-cylinder-attentive -o stage__Scale-Balanced-Grasp__grouper__depth-cylinder-attentive.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__depth-cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1254252, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3156], "loss/view": [0.2608, 0.1087], "loss/score": [0.05644, 0.02812], "loss/angle": [0.5272, 0.4633], "loss/width": [0.6116, 0.2076], "loss/tolerance": [1.646, 0.4309], "loss": [3.862, 1.554]}, "trend": {"loss/objectness": [0.7596, 0.3134, 0.587], "loss/view": [0.2608, 0.1248, 0.521], "loss/score": [0.05644, 0.02392, 0.576], "loss/angle": [0.5272, 0.4455, 0.155], "loss/width": [0.6116, 0.2456, 0.598], "loss/tolerance": [1.646, 0.4572, 0.722], "loss": [3.862, 1.61, 0.583]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.479, "peak_gpu_mib": 3934.2, "seconds": 16.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-cylinder-multi-scale", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-cylinder-multi-scale"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "depth-cylinder-multi-scale", "verdict": "runs", "judge": 2, "config_hash": "fa5ae51e5e2f6a8b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-multi-scale -o stage__GSNet__grouper__depth-cylinder-multi-scale.yaml", "probe": "grasppanda probe stage__GSNet__grouper__depth-cylinder-multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15783087, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "notes": ["probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5783], "loss/graspness": [5.176, 0.2784], "loss/view": [6.291, 0.3339], "loss/score": [0.6148, 0.06571], "loss/width": [2.642, 0.1954], "loss": [15.51, 1.452]}, "trend": {"loss/objectness": [0.7893, 0.6167, 0.219], "loss/graspness": [5.176, 0.3021, 0.942], "loss/view": [6.291, 0.3258, 0.948], "loss/score": [0.6148, 0.09167, 0.851], "loss/width": [2.642, 0.2258, 0.915], "loss": [15.51, 1.562, 0.899]}, "real_seeds": {"min": 0.418, "mean": 0.966, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1123, 0.1289, 0.1532], [0.1123, 0.1289, 0.2496]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.409, "peak_gpu_mib": 17560.3, "seconds": 29.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-cylinder-multi-scale", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-cylinder-multi-scale"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "depth-cylinder-multi-scale", "verdict": "runs", "judge": 2, "config_hash": "b20bb6a2843bc964", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-multi-scale -o stage__EconomicGrasp__grouper__depth-cylinder-multi-scale.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__depth-cylinder-multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15776808, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "notes": ["probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5572], "loss/graspness": [5.216, 0.234], "loss/view": [6.545, 0.7436], "loss/angle": [3.185, 0.7218], "loss/depth": [1.622, 0.4322], "loss/score": [2.358, 0.6691], "loss/width": [0.8325, 0.9281], "loss": [20.54, 4.286]}, "trend": {"loss/objectness": [0.7845, 0.5445, 0.306], "loss/graspness": [5.216, 0.2458, 0.953], "loss/view": [6.545, 0.7044, 0.892], "loss/angle": [3.185, 0.7901, 0.752], "loss/depth": [1.622, 0.4657, 0.713], "loss/score": [2.358, 0.6819, 0.711], "loss/width": [0.8325, 0.9073, -0.09], "loss": [20.54, 4.34, 0.789]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.151, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.928, -1.864, -1.799], [-1.925, -1.864, -1.81]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.391, "peak_gpu_mib": 17652.2, "seconds": 27.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-cylinder-multi-scale", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-cylinder-multi-scale"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "depth-cylinder-multi-scale", "verdict": "runs", "judge": 2, "config_hash": "594f5022a2a16929", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-multi-scale -o stage__FineGrasp__grouper__depth-cylinder-multi-scale.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__depth-cylinder-multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15788808, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5659], "loss/graspness": [2.473, 0.262], "loss/view": [5.497, 0.7528], "loss/angle": [3.331, 1.172], "loss/depth": [2.121, 0.6237], "loss/score": [1.688, 0.992], "loss/width": [1.785, 0.7472], "loss": [17.7, 5.115]}, "trend": {"loss/objectness": [0.8058, 0.586, 0.273], "loss/graspness": [2.473, 0.2726, 0.89], "loss/view": [5.497, 0.6559, 0.881], "loss/angle": [3.331, 0.9931, 0.702], "loss/depth": [2.121, 0.5422, 0.744], "loss/score": [1.688, 0.8508, 0.496], "loss/width": [1.785, 0.75, 0.58], "loss": [17.7, 4.651, 0.737]}, "real_seeds": {"min": 0.179, "mean": 0.953, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.13, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.963, -1.953, -1.944], [-1.969, -1.953, -1.943]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.732, "peak_gpu_mib": 35072.2, "seconds": 67.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-cylinder-multi-scale", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-cylinder-multi-scale"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "depth-cylinder-multi-scale", "verdict": "runs", "judge": 2, "config_hash": "76ad1efc4e3c18b3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-cylinder-multi-scale -o stage__GraspNet-baseline__grouper__depth-cylinder-multi-scale.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__depth-cylinder-multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [748, 511], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6011], "loss/view": [0.2001, 0.08918], "loss/score": [0.0608, 0.02851], "loss/angle": [0.5503, 0.4708], "loss/width": [0.5901, 0.1206], "loss/tolerance": [1.238, 0.366], "loss": [3.401, 1.676]}, "trend": {"loss/objectness": [0.7623, 0.609, 0.201], "loss/view": [0.2001, 0.08767, 0.562], "loss/score": [0.0608, 0.02777, 0.543], "loss/angle": [0.5503, 0.4523, 0.178], "loss/width": [0.5901, 0.1378, 0.766], "loss/tolerance": [1.238, 0.328, 0.735], "loss": [3.401, 1.643, 0.517]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-46.72, 0.3066, 41.6], [-24.12, -0.03519, 11.37]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.576, "peak_gpu_mib": 9424.9, "seconds": 18.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-cylinder-multi-scale", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-cylinder-multi-scale"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "depth-cylinder-multi-scale", "verdict": "runs-empty", "judge": 2, "config_hash": "61901898cd133251", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-cylinder-multi-scale -o stage__Scale-Balanced-Grasp__grouper__depth-cylinder-multi-scale.yaml", "probed_as": "reference/Scale-Balanced-Grasp", "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-cylinder-projection", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-cylinder-projection"], "slot": "grouper", "component": "DepthCylinderProjectionGroup", "variant": "depth-cylinder-projection", "verdict": "runs", "judge": 2, "config_hash": "08ba0d5326c6c5dd", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-projection -o stage__GSNet__grouper__depth-cylinder-projection.yaml", "probe": "grasppanda probe stage__GSNet__grouper__depth-cylinder-projection.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15394543, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.581], "loss/graspness": [5.176, 0.2937], "loss/view": [6.291, 0.3279], "loss/score": [1.903, 0.0496], "loss/width": [3.687, 0.1628], "loss": [17.85, 1.415]}, "trend": {"loss/objectness": [0.7893, 0.6178, 0.217], "loss/graspness": [5.176, 0.3152, 0.939], "loss/view": [6.291, 0.3269, 0.948], "loss/score": [1.903, 0.05706, 0.97], "loss/width": [3.687, 0.1908, 0.948], "loss": [17.85, 1.508, 0.916]}, "real_seeds": {"min": 0.466, "mean": 0.968, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1042, 0.134, 0.2065], [0.1071, 0.1361, 0.8133]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.335, "peak_gpu_mib": 6670.4, "seconds": 54.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-cylinder-projection", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-cylinder-projection"], "slot": "grouper", "component": "DepthCylinderProjectionGroup", "variant": "depth-cylinder-projection", "verdict": "runs", "judge": 2, "config_hash": "eec54a6cd028c1d0", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-projection -o stage__EconomicGrasp__grouper__depth-cylinder-projection.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__depth-cylinder-projection.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15388264, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6281], "loss/graspness": [5.216, 0.2357], "loss/view": [6.545, 0.7148], "loss/angle": [2.092, 0.7337], "loss/depth": [1.769, 0.406], "loss/score": [1.746, 0.632], "loss/width": [0.9396, 0.669], "loss": [19.09, 4.019]}, "trend": {"loss/objectness": [0.7845, 0.6056, 0.228], "loss/graspness": [5.216, 0.253, 0.951], "loss/view": [6.545, 0.676, 0.897], "loss/angle": [2.092, 0.7971, 0.619], "loss/depth": [1.769, 0.4519, 0.745], "loss/score": [1.746, 0.6737, 0.614], "loss/width": [0.9396, 0.8072, 0.141], "loss": [19.09, 4.265, 0.777]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.14, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.465, -1.288, -1.15], [-1.474, -1.284, -1.159]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.303, "peak_gpu_mib": 6762.5, "seconds": 45.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-cylinder-projection", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-cylinder-projection"], "slot": "grouper", "component": "DepthCylinderProjectionGroup", "variant": "depth-cylinder-projection", "verdict": "runs", "judge": 2, "config_hash": "db23db23fed67543", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-cylinder-projection -o stage__FineGrasp__grouper__depth-cylinder-projection.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__depth-cylinder-projection.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15400264, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5851], "loss/graspness": [2.473, 0.2523], "loss/view": [5.497, 0.637], "loss/angle": [3.253, 1.071], "loss/depth": [2.265, 0.5329], "loss/score": [2.023, 0.9034], "loss/width": [0.8908, 0.6321], "loss": [17.21, 4.614]}, "trend": {"loss/objectness": [0.8058, 0.5995, 0.256], "loss/graspness": [2.473, 0.2725, 0.89], "loss/view": [5.497, 0.7051, 0.872], "loss/angle": [3.253, 1.078, 0.669], "loss/depth": [2.265, 0.566, 0.75], "loss/score": [2.023, 0.9195, 0.546], "loss/width": [0.8908, 0.6221, 0.302], "loss": [17.21, 4.763, 0.723]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.062, "mean": 0.861, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.121, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.387, -1.264, -1.158], [-1.383, -1.266, -1.139]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.412, "peak_gpu_mib": 13295.1, "seconds": 82.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-cylinder-projection", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-cylinder-projection"], "slot": "grouper", "component": "DepthCylinderProjectionGroup", "variant": "depth-cylinder-projection", "verdict": "runs", "judge": 2, "config_hash": "30a89886ca9b74f2", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-cylinder-projection -o stage__GraspNet-baseline__grouper__depth-cylinder-projection.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__depth-cylinder-projection.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1157548, "iterations": 20, "batch_size": 2, "grasps_per_frame": [376, 485], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5688], "loss/view": [0.2001, 0.0851], "loss/score": [0.05985, 0.02912], "loss/angle": [0.5099, 0.4637], "loss/width": [0.5029, 0.2014], "loss/tolerance": [1.375, 0.4612], "loss": [3.41, 1.809]}, "trend": {"loss/objectness": [0.7623, 0.58, 0.239], "loss/view": [0.2001, 0.08338, 0.583], "loss/score": [0.05985, 0.02546, 0.575], "loss/angle": [0.5099, 0.4618, 0.095], "loss/width": [0.5029, 0.1811, 0.64], "loss/tolerance": [1.375, 0.456, 0.668], "loss": [3.41, 1.788, 0.476]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-19.05, -0.05624, 25.41], [-18.9, -0.079, 31.56]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.296, "peak_gpu_mib": 3976.2, "seconds": 12.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-cylinder-projection", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-cylinder-projection"], "slot": "grouper", "component": "DepthCylinderProjectionGroup", "variant": "depth-cylinder-projection", "verdict": "runs-empty", "judge": 2, "config_hash": "940cb79d03a63984", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-cylinder-projection -o stage__Scale-Balanced-Grasp__grouper__depth-cylinder-projection.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__depth-cylinder-projection.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1254444, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3057], "loss/view": [0.2608, 0.1047], "loss/score": [0.05778, 0.02235], "loss/angle": [0.5151, 0.4572], "loss/width": [0.5583, 0.1332], "loss/tolerance": [1.23, 0.2707], "loss": [3.382, 1.294]}, "trend": {"loss/objectness": [0.7596, 0.297, 0.609], "loss/view": [0.2608, 0.1213, 0.535], "loss/score": [0.05778, 0.01867, 0.677], "loss/angle": [0.5151, 0.4533, 0.12], "loss/width": [0.5583, 0.1481, 0.735], "loss/tolerance": [1.23, 0.301, 0.755], "loss": [3.382, 1.339, 0.604]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.312, "peak_gpu_mib": 4170.1, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-embed", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-embed"], "slot": "grouper", "component": "DepthEmbedGroup", "variant": "depth-embed", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-embed -o stage__GSNet__grouper__depth-embed.yaml", "refusal": ["DepthEmbedGroup emits features with axes ('seed', 'depth', 'channel'), but SWADHead expects ('seed', 'channel'). DepthEmbedGroup is itself an axis adapter, made to change the axes of the crop it wraps to ('seed', 'depth', 'channel'): under SWADHead use that crop without the adapter, or another grouper. Groupers that emit ('seed', 'channel'): CylinderGroup, CylinderInteractionGroup, DepthPoolGroup, LocalGroup, MultiRadiusGroup, MultiScaleGroup, PyGConvGroup, RoIAwareGroup, RoIGridGroup, VoxelSetAbstractionGroup. Head bundles that expect ('seed', 'depth', 'channel'): OperationHead."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-embed", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-embed"], "slot": "grouper", "component": "DepthEmbedGroup", "variant": "depth-embed", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-embed -o stage__EconomicGrasp__grouper__depth-embed.yaml", "refusal": ["DepthEmbedGroup emits features with axes ('seed', 'depth', 'channel'), but EconomicHead expects ('seed', 'channel'). DepthEmbedGroup is itself an axis adapter, made to change the axes of the crop it wraps to ('seed', 'depth', 'channel'): under EconomicHead use that crop without the adapter, or another grouper. Groupers that emit ('seed', 'channel'): CylinderGroup, CylinderInteractionGroup, DepthPoolGroup, LocalGroup, MultiRadiusGroup, MultiScaleGroup, PyGConvGroup, RoIAwareGroup, RoIGridGroup, VoxelSetAbstractionGroup. Head bundles that expect ('seed', 'depth', 'channel'): OperationHead."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-embed", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-embed"], "slot": "grouper", "component": "DepthEmbedGroup", "variant": "depth-embed", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-embed -o stage__FineGrasp__grouper__depth-embed.yaml", "refusal": ["DepthEmbedGroup emits features with axes ('seed', 'depth', 'channel'), but EconomicHead expects ('seed', 'channel'). DepthEmbedGroup is itself an axis adapter, made to change the axes of the crop it wraps to ('seed', 'depth', 'channel'): under EconomicHead use that crop without the adapter, or another grouper. Groupers that emit ('seed', 'channel'): CylinderGroup, CylinderInteractionGroup, DepthPoolGroup, LocalGroup, MultiRadiusGroup, MultiScaleGroup, PyGConvGroup, RoIAwareGroup, RoIGridGroup, VoxelSetAbstractionGroup. Head bundles that expect ('seed', 'depth', 'channel'): OperationHead."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-embed", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-embed"], "slot": "grouper", "component": "DepthEmbedGroup", "variant": "depth-embed", "verdict": "runs", "judge": 2, "config_hash": "bc71f84f1e18f9c9", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-embed -o stage__GraspNet-baseline__grouper__depth-embed.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__depth-embed.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1183596, "iterations": 20, "batch_size": 2, "grasps_per_frame": [654, 392], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6449], "loss/view": [0.2001, 0.08929], "loss/score": [0.06103, 0.02742], "loss/angle": [0.4749, 0.4615], "loss/width": [0.5079, 0.3365], "loss/tolerance": [1.408, 0.6439], "loss": [3.414, 2.204]}, "trend": {"loss/objectness": [0.7623, 0.6375, 0.164], "loss/view": [0.2001, 0.08983, 0.551], "loss/score": [0.06103, 0.03061, 0.498], "loss/angle": [0.4749, 0.4399, 0.074], "loss/width": [0.5079, 0.4692, 0.076], "loss/tolerance": [1.408, 0.6219, 0.558], "loss": [3.414, 2.289, 0.33]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-20.93, -0.0113, 21.43], [-29.43, -2.062, 8.655]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.196, "peak_gpu_mib": 1908.3, "seconds": 10.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-embed", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-embed"], "slot": "grouper", "component": "DepthEmbedGroup", "variant": "depth-embed", "verdict": "runs", "judge": 2, "config_hash": "109560f514863a44", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-embed -o stage__Scale-Balanced-Grasp__grouper__depth-embed.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__depth-embed.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1280492, "iterations": 20, "batch_size": 2, "grasps_per_frame": [6, 50], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3375], "loss/view": [0.2608, 0.114], "loss/score": [0.06131, 0.02622], "loss/angle": [0.5229, 0.4764], "loss/width": [0.4765, 0.2686], "loss/tolerance": [1.133, 0.402], "loss": [3.214, 1.625]}, "trend": {"loss/objectness": [0.7596, 0.3128, 0.588], "loss/view": [0.2608, 0.1293, 0.504], "loss/score": [0.06131, 0.02361, 0.615], "loss/angle": [0.5229, 0.4631, 0.114], "loss/width": [0.4765, 0.272, 0.429], "loss/tolerance": [1.133, 0.5897, 0.479], "loss": [3.214, 1.79, 0.443]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.0009966, 0.3432, 0.6861], [-0.8389, 0.3592, 2.358]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.251, "peak_gpu_mib": 2101.2, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-knn", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-knn"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-knn", "verdict": "runs", "judge": 2, "config_hash": "637c1c73456d13cf", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-knn -o stage__GSNet__grouper__depth-knn.yaml", "probe": "grasppanda probe stage__GSNet__grouper__depth-knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15328751, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5792], "loss/graspness": [5.176, 0.2811], "loss/view": [6.291, 0.3307], "loss/score": [1.738, 0.05171], "loss/width": [2.961, 0.1993], "loss": [16.96, 1.442]}, "trend": {"loss/objectness": [0.7893, 0.6156, 0.22], "loss/graspness": [5.176, 0.3096, 0.94], "loss/view": [6.291, 0.3277, 0.948], "loss/score": [1.738, 0.0643, 0.963], "loss/width": [2.961, 0.2219, 0.925], "loss": [16.96, 1.539, 0.909]}, "real_seeds": {"min": 0.484, "mean": 0.974, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.05199, 0.1011, 0.4716], [0.05101, 0.1037, 2.903]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.226, "peak_gpu_mib": 3410.4, "seconds": 39.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-knn", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-knn"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-knn", "verdict": "runs", "judge": 2, "config_hash": "1e7385d94c93b462", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-knn -o stage__EconomicGrasp__grouper__depth-knn.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__depth-knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15322472, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6362], "loss/graspness": [5.216, 0.2355], "loss/view": [6.545, 0.6955], "loss/angle": [1.984, 0.8153], "loss/depth": [1.957, 0.3891], "loss/score": [2.513, 0.6733], "loss/width": [0.8898, 0.6104], "loss": [19.89, 4.055]}, "trend": {"loss/objectness": [0.7845, 0.6123, 0.22], "loss/graspness": [5.216, 0.2555, 0.951], "loss/view": [6.545, 0.6698, 0.898], "loss/angle": [1.984, 0.8247, 0.584], "loss/depth": [1.957, 0.452, 0.769], "loss/score": [2.513, 0.6842, 0.728], "loss/width": [0.8898, 0.6978, 0.216], "loss": [19.89, 4.196, 0.789]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-3.483, -3.192, -2.738], [-3.428, -3.179, -2.469]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.389, "peak_gpu_mib": 3339.9, "seconds": 51.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-knn", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-knn"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-knn", "verdict": "runs", "judge": 2, "config_hash": "7560c8484b8d4ffe", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-knn -o stage__FineGrasp__grouper__depth-knn.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__depth-knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15334472, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6105], "loss/graspness": [2.473, 0.3106], "loss/view": [5.497, 0.7808], "loss/angle": [2.907, 0.9871], "loss/depth": [1.727, 0.4715], "loss/score": [2.366, 0.8069], "loss/width": [1.563, 0.6932], "loss": [17.34, 4.661]}, "trend": {"loss/objectness": [0.8058, 0.6223, 0.228], "loss/graspness": [2.473, 0.3036, 0.877], "loss/view": [5.497, 0.7082, 0.871], "loss/angle": [2.907, 0.86, 0.704], "loss/depth": [1.727, 0.4464, 0.742], "loss/score": [2.366, 0.7213, 0.695], "loss/width": [1.563, 0.7023, 0.551], "loss": [17.34, 4.364, 0.748]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.016, "mean": 0.798, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.119, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.445, -2.114, -1.978], [-2.388, -2.117, -1.963]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.355, "peak_gpu_mib": 6448.9, "seconds": 86.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-knn", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-knn"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-knn", "verdict": "runs", "judge": 2, "config_hash": "a93f1b70cfcf2963", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-knn -o stage__GraspNet-baseline__grouper__depth-knn.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__depth-knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1091756, "iterations": 20, "batch_size": 2, "grasps_per_frame": [618, 456], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5981], "loss/view": [0.2001, 0.08661], "loss/score": [0.07163, 0.02555], "loss/angle": [0.4879, 0.4742], "loss/width": [0.4594, 0.1465], "loss/tolerance": [1.01, 0.3109], "loss": [2.992, 1.642]}, "trend": {"loss/objectness": [0.7623, 0.6177, 0.19], "loss/view": [0.2001, 0.08684, 0.566], "loss/score": [0.07163, 0.03711, 0.482], "loss/angle": [0.4879, 0.4539, 0.07], "loss/width": [0.4594, 0.1697, 0.631], "loss/tolerance": [1.01, 0.3437, 0.66], "loss": [2.992, 1.709, 0.429]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [[-110.5, 0.4802, 67.85], [-75.9, 0.272, 77.0]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.263, "peak_gpu_mib": 2707.8, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-knn", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-knn"], "slot": "grouper", "component": "DepthLocalGroup", "variant": "depth-knn", "verdict": "runs", "judge": 2, "config_hash": "8bde386c75d85b30", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-knn -o stage__Scale-Balanced-Grasp__grouper__depth-knn.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__depth-knn.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1188652, "iterations": 20, "batch_size": 2, "grasps_per_frame": [52, 72], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3249], "loss/view": [0.2608, 0.1145], "loss/score": [0.04522, 0.02237], "loss/angle": [0.4955, 0.439], "loss/width": [0.3322, 0.1234], "loss/tolerance": [0.9304, 0.2521], "loss": [2.824, 1.276]}, "trend": {"loss/objectness": [0.7596, 0.3106, 0.591], "loss/view": [0.2608, 0.1285, 0.507], "loss/score": [0.04522, 0.02212, 0.511], "loss/angle": [0.4955, 0.4347, 0.123], "loss/width": [0.3322, 0.1286, 0.613], "loss/tolerance": [0.9304, 0.2832, 0.696], "loss": [2.824, 1.308, 0.537]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-0.6016, 0.1689, 2.394], [-2.706, 0.3898, 2.552]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.305, "peak_gpu_mib": 2901.8, "seconds": 13.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/depth-pool", "group": "stage", "method": "GSNet", "sets": ["grouper=depth-pool"], "slot": "grouper", "component": "DepthPoolGroup", "variant": "depth-pool", "verdict": "runs", "judge": 2, "config_hash": "6b84d870d7740d5f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=depth-pool -o stage__GSNet__grouper__depth-pool.yaml", "probe": "grasppanda probe stage__GSNet__grouper__depth-pool.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15197423, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5834], "loss/graspness": [5.176, 0.2813], "loss/view": [6.291, 0.3451], "loss/score": [2.159, 0.05598], "loss/width": [2.688, 0.2209], "loss": [17.1, 1.487]}, "trend": {"loss/objectness": [0.7893, 0.6168, 0.218], "loss/graspness": [5.176, 0.3106, 0.94], "loss/view": [6.291, 0.3298, 0.948], "loss/score": [2.159, 0.06839, 0.968], "loss/width": [2.688, 0.2248, 0.916], "loss": [17.1, 1.55, 0.909]}, "real_seeds": {"min": 0.389, "mean": 0.963, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1818, 0.2094, 0.2273], [0.1799, 0.2056, 0.2272]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.383, "peak_gpu_mib": 6653.5, "seconds": 47.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/depth-pool", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=depth-pool"], "slot": "grouper", "component": "DepthPoolGroup", "variant": "depth-pool", "verdict": "runs", "judge": 2, "config_hash": "b850092381a14d99", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=depth-pool -o stage__EconomicGrasp__grouper__depth-pool.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__depth-pool.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15191144, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5898], "loss/graspness": [5.216, 0.2332], "loss/view": [6.545, 0.7615], "loss/angle": [2.83, 0.7921], "loss/depth": [2.171, 0.3618], "loss/score": [1.42, 0.6691], "loss/width": [2.625, 0.6477], "loss": [21.59, 4.055]}, "trend": {"loss/objectness": [0.7845, 0.573, 0.27], "loss/graspness": [5.216, 0.2471, 0.953], "loss/view": [6.545, 0.6919, 0.894], "loss/angle": [2.83, 0.8028, 0.716], "loss/depth": [2.171, 0.4574, 0.789], "loss/score": [1.42, 0.6744, 0.525], "loss/width": [2.625, 0.6696, 0.745], "loss": [21.59, 4.116, 0.809]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.141, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.726, -1.577, -1.492], [-1.741, -1.571, -1.48]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.218, "peak_gpu_mib": 6748.4, "seconds": 41.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/depth-pool", "group": "stage", "method": "FineGrasp", "sets": ["grouper=depth-pool"], "slot": "grouper", "component": "DepthPoolGroup", "variant": "depth-pool", "verdict": "runs", "judge": 2, "config_hash": "5c2965903ecf1b9e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=depth-pool -o stage__FineGrasp__grouper__depth-pool.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__depth-pool.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15203144, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5992], "loss/graspness": [2.473, 0.2675], "loss/view": [5.497, 0.6819], "loss/angle": [2.13, 0.9582], "loss/depth": [1.928, 0.5349], "loss/score": [2.174, 0.8282], "loss/width": [0.8963, 0.7259], "loss": [15.91, 4.596]}, "trend": {"loss/objectness": [0.8058, 0.6088, 0.244], "loss/graspness": [2.473, 0.2713, 0.89], "loss/view": [5.497, 0.6603, 0.88], "loss/angle": [2.13, 0.876, 0.589], "loss/depth": [1.928, 0.4833, 0.749], "loss/score": [2.174, 0.7515, 0.654], "loss/width": [0.8963, 0.8017, 0.106], "loss": [15.91, 4.453, 0.72]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.067, "mean": 0.951, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.122, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.064, -2.003, -1.93], [-2.063, -2.001, -1.93]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.46, "peak_gpu_mib": 13273.8, "seconds": 91.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/depth-pool", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=depth-pool"], "slot": "grouper", "component": "DepthPoolGroup", "variant": "depth-pool", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=depth-pool -o stage__GraspNet-baseline__grouper__depth-pool.yaml", "refusal": ["DepthPoolGroup emits features with axes ('seed', 'channel'), but OperationHead expects ('seed', 'depth', 'channel'). DepthPoolGroup is itself an axis adapter, made to change the axes of the crop it wraps to ('seed', 'channel'): under OperationHead use that crop without the adapter, or another grouper. Groupers that emit ('seed', 'depth', 'channel'): DepthCylinderGroup, DepthCylinderProjectionGroup, DepthEmbedGroup, DepthLocalGroup. Head bundles that expect ('seed', 'channel'): DecoupledGridHead, EconomicHead, SWADHead."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/depth-pool", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=depth-pool"], "slot": "grouper", "component": "DepthPoolGroup", "variant": "depth-pool", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=depth-pool -o stage__Scale-Balanced-Grasp__grouper__depth-pool.yaml", "refusal": ["DepthPoolGroup emits features with axes ('seed', 'channel'), but OperationHead expects ('seed', 'depth', 'channel'). DepthPoolGroup is itself an axis adapter, made to change the axes of the crop it wraps to ('seed', 'channel'): under OperationHead use that crop without the adapter, or another grouper. Groupers that emit ('seed', 'depth', 'channel'): DepthCylinderGroup, DepthCylinderProjectionGroup, DepthEmbedGroup, DepthLocalGroup. Head bundles that expect ('seed', 'channel'): DecoupledGridHead, EconomicHead, SWADHead."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/knn", "group": "stage", "method": "GSNet", "sets": ["grouper=knn"], "slot": "grouper", "component": "LocalGroup", "variant": "knn", "verdict": "runs", "judge": 2, "config_hash": "f2e040b8bd85f7a3", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=knn -o stage__GSNet__grouper__knn.yaml", "probe": "grasppanda probe stage__GSNet__grouper__knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5797], "loss/graspness": [5.176, 0.2778], "loss/view": [6.291, 0.4], "loss/score": [1.332, 0.1069], "loss/width": [3.588, 0.2508], "loss": [17.18, 1.615]}, "trend": {"loss/objectness": [0.7893, 0.6263, 0.207], "loss/graspness": [5.176, 0.3405, 0.934], "loss/view": [6.291, 0.3423, 0.946], "loss/score": [1.332, 0.1002, 0.925], "loss/width": [3.588, 0.2853, 0.92], "loss": [17.18, 1.695, 0.901]}, "real_seeds": {"min": 0.427, "mean": 0.924, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1378, 0.1873, 0.2565], [0.134, 0.1859, 0.2876]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.278, "peak_gpu_mib": 1912.0, "seconds": 49.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/knn", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=knn"], "slot": "grouper", "component": "LocalGroup", "variant": "knn", "verdict": "runs", "judge": 2, "config_hash": "d9a1c945369878b4", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=knn -o stage__EconomicGrasp__grouper__knn.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15347496, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5515], "loss/graspness": [5.216, 0.2479], "loss/view": [6.545, 0.7007], "loss/angle": [2.733, 0.7035], "loss/depth": [1.12, 0.3638], "loss/score": [1.332, 0.6042], "loss/width": [1.446, 0.7258], "loss": [19.18, 3.897]}, "trend": {"loss/objectness": [0.7845, 0.5456, 0.305], "loss/graspness": [5.216, 0.2864, 0.945], "loss/view": [6.545, 0.7038, 0.892], "loss/angle": [2.733, 0.7672, 0.719], "loss/depth": [1.12, 0.4052, 0.638], "loss/score": [1.332, 0.6444, 0.516], "loss/width": [1.446, 0.752, 0.48], "loss": [19.18, 4.105, 0.786]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.141, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.726, -2.452, -2.187], [-2.831, -2.47, -2.181]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.148, "peak_gpu_mib": 1407.6, "seconds": 33.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/knn", "group": "stage", "method": "FineGrasp", "sets": ["grouper=knn"], "slot": "grouper", "component": "LocalGroup", "variant": "knn", "verdict": "runs", "judge": 2, "config_hash": "5cbd3cd693669b0b", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=knn -o stage__FineGrasp__grouper__knn.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15359496, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6237], "loss/graspness": [2.473, 0.2725], "loss/view": [5.497, 0.6611], "loss/angle": [2.918, 1.002], "loss/depth": [1.04, 0.5492], "loss/score": [2.888, 0.8542], "loss/width": [2.155, 0.7951], "loss": [17.78, 4.758]}, "trend": {"loss/objectness": [0.8058, 0.6348, 0.212], "loss/graspness": [2.473, 0.2818, 0.886], "loss/view": [5.497, 0.6213, 0.887], "loss/angle": [2.918, 0.9374, 0.679], "loss/depth": [1.04, 0.4824, 0.536], "loss/score": [2.888, 0.7921, 0.726], "loss/width": [2.155, 0.7769, 0.639], "loss": [17.78, 4.527, 0.745]}, "real_seeds": {"min": 0.306, "mean": 0.937, "zero_iterations": 0}, "supervised_seeds": {"min": 0.046, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.674, -1.509, -1.382], [-1.635, -1.522, -1.427]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.306, "peak_gpu_mib": 2582.7, "seconds": 76.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/knn", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=knn"], "slot": "grouper", "component": "LocalGroup", "variant": "knn", "verdict": "runs", "judge": 2, "config_hash": "a3d901dc55b34d75", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=knn -o stage__GraspNet-baseline__grouper__knn.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1183596, "iterations": 20, "batch_size": 2, "grasps_per_frame": [161, 365], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6565], "loss/view": [0.2001, 0.09318], "loss/score": [0.06507, 0.04803], "loss/angle": [0.4723, 0.4549], "loss/width": [0.4408, 0.3206], "loss/tolerance": [1.321, 0.633], "loss": [3.262, 2.206]}, "trend": {"loss/objectness": [0.7623, 0.6502, 0.147], "loss/view": [0.2001, 0.09163, 0.542], "loss/score": [0.06507, 0.0417, 0.359], "loss/angle": [0.4723, 0.4499, 0.047], "loss/width": [0.4408, 0.3778, 0.143], "loss/tolerance": [1.321, 0.6892, 0.478], "loss": [3.262, 2.3, 0.295]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-18.63, -1.084, 11.17], [-21.55, 0.3202, 21.8]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.199, "peak_gpu_mib": 1940.3, "seconds": 11.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/knn", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=knn"], "slot": "grouper", "component": "LocalGroup", "variant": "knn", "verdict": "runs", "judge": 2, "config_hash": "48a904d3a0b19268", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=knn -o stage__Scale-Balanced-Grasp__grouper__knn.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__knn.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1280492, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 2], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3418], "loss/view": [0.2608, 0.1135], "loss/score": [0.06227, 0.02838], "loss/angle": [0.5225, 0.4759], "loss/width": [0.4836, 0.2173], "loss/tolerance": [1.165, 0.3578], "loss": [3.254, 1.535]}, "trend": {"loss/objectness": [0.7596, 0.314, 0.587], "loss/view": [0.2608, 0.1269, 0.513], "loss/score": [0.06227, 0.02666, 0.572], "loss/angle": [0.5225, 0.4671, 0.106], "loss/width": [0.4836, 0.2298, 0.525], "loss/tolerance": [1.165, 0.4772, 0.59], "loss": [3.254, 1.642, 0.495]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[1.434, 1.434, 1.434], [0.9001, 1.086, 1.271]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.207, "peak_gpu_mib": 2133.2, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/multi-scale-linear", "group": "stage", "method": "GSNet", "sets": ["grouper=multi-scale-linear"], "slot": "grouper", "component": "MultiRadiusGroup", "variant": "multi-scale-linear", "verdict": "runs", "judge": 2, "config_hash": "ed4f14af646c96ab", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=multi-scale-linear -o stage__GSNet__grouper__multi-scale-linear.yaml", "probe": "grasppanda probe stage__GSNet__grouper__multi-scale-linear.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16211375, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5597], "loss/graspness": [5.176, 0.2979], "loss/view": [6.291, 0.4087], "loss/score": [0.5055, 0.05317], "loss/width": [1.999, 0.1867], "loss": [14.76, 1.506]}, "trend": {"loss/objectness": [0.7893, 0.6031, 0.236], "loss/graspness": [5.176, 0.2991, 0.942], "loss/view": [6.291, 0.3549, 0.944], "loss/score": [0.5055, 0.07157, 0.858], "loss/width": [1.999, 0.2144, 0.893], "loss": [14.76, 1.543, 0.895]}, "real_seeds": {"min": 0.979, "mean": 0.998, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.09673, 0.1461, 0.2189], [0.08351, 0.1525, 0.6271]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.213, "peak_gpu_mib": 3038.3, "seconds": 43.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/multi-scale-linear", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=multi-scale-linear"], "slot": "grouper", "component": "MultiRadiusGroup", "variant": "multi-scale-linear", "verdict": "runs", "judge": 2, "config_hash": "d6e1ab200808748c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=multi-scale-linear -o stage__EconomicGrasp__grouper__multi-scale-linear.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__multi-scale-linear.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16205096, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5814], "loss/graspness": [5.216, 0.249], "loss/view": [6.545, 0.765], "loss/angle": [2.507, 0.8048], "loss/depth": [2.002, 0.4232], "loss/score": [2.009, 0.6542], "loss/width": [0.9046, 1.046], "loss": [19.97, 4.523]}, "trend": {"loss/objectness": [0.7845, 0.5597, 0.287], "loss/graspness": [5.216, 0.2492, 0.952], "loss/view": [6.545, 0.7113, 0.891], "loss/angle": [2.507, 0.7754, 0.691], "loss/depth": [2.002, 0.4359, 0.782], "loss/score": [2.009, 0.6551, 0.674], "loss/width": [0.9046, 0.8575, 0.052], "loss": [19.97, 4.244, 0.787]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.153, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.505, -1.327, -1.291], [-1.531, -1.328, -1.28]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.518, "peak_gpu_mib": 2530.8, "seconds": 44.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/multi-scale-linear", "group": "stage", "method": "FineGrasp", "sets": ["grouper=multi-scale-linear"], "slot": "grouper", "component": "MultiRadiusGroup", "variant": "multi-scale-linear", "verdict": "runs", "judge": 2, "config_hash": "eb779be12731d1e5", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=multi-scale-linear -o stage__FineGrasp__grouper__multi-scale-linear.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__multi-scale-linear.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 16217096, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6355], "loss/graspness": [2.473, 0.285], "loss/view": [5.497, 0.6786], "loss/angle": [3.413, 1.038], "loss/depth": [1.361, 0.5706], "loss/score": [1.786, 0.937], "loss/width": [0.9415, 0.8713], "loss": [16.28, 5.016]}, "trend": {"loss/objectness": [0.8058, 0.6425, 0.203], "loss/graspness": [2.473, 0.3016, 0.878], "loss/view": [5.497, 0.708, 0.871], "loss/angle": [3.413, 0.9027, 0.736], "loss/depth": [1.361, 0.514, 0.622], "loss/score": [1.786, 0.7909, 0.557], "loss/width": [0.9415, 0.8836, 0.062], "loss": [16.28, 4.743, 0.709]}, "real_seeds": {"min": 0.046, "mean": 0.893, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.124, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.455, -2.44, -2.424], [-2.458, -2.441, -2.423]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.343, "peak_gpu_mib": 4823.1, "seconds": 82.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/multi-scale-linear", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=multi-scale-linear"], "slot": "grouper", "component": "MultiRadiusGroup", "variant": "multi-scale-linear", "verdict": "runs", "judge": 2, "config_hash": "b471739f9dfd039c", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=multi-scale-linear -o stage__GraspNet-baseline__grouper__multi-scale-linear.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__multi-scale-linear.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1844588, "iterations": 20, "batch_size": 2, "grasps_per_frame": [412, 422], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6138], "loss/view": [0.2001, 0.08614], "loss/score": [0.03692, 0.0334], "loss/angle": [0.5435, 0.4732], "loss/width": [0.4535, 0.2825], "loss/tolerance": [1.076, 0.4905], "loss": [3.072, 1.979]}, "trend": {"loss/objectness": [0.7623, 0.6609, 0.133], "loss/view": [0.2001, 0.08967, 0.552], "loss/score": [0.03692, 0.03154, 0.146], "loss/angle": [0.5435, 0.4697, 0.136], "loss/width": [0.4535, 0.2444, 0.461], "loss/tolerance": [1.076, 0.5394, 0.498], "loss": [3.072, 2.036, 0.337]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-18.01, 3.029, 33.84], [-55.26, 1.532, 32.6]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.236, "peak_gpu_mib": 2411.7, "seconds": 12.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/multi-scale-linear", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=multi-scale-linear"], "slot": "grouper", "component": "MultiRadiusGroup", "variant": "multi-scale-linear", "verdict": "runs-empty", "judge": 2, "config_hash": "61b11bf4f327e579", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=multi-scale-linear -o stage__Scale-Balanced-Grasp__grouper__multi-scale-linear.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__multi-scale-linear.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1941484, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3305], "loss/view": [0.2608, 0.1132], "loss/score": [0.05149, 0.01891], "loss/angle": [0.4958, 0.4267], "loss/width": [0.6491, 0.1733], "loss/tolerance": [1.138, 0.3039], "loss": [3.355, 1.367]}, "trend": {"loss/objectness": [0.7596, 0.318, 0.581], "loss/view": [0.2608, 0.1292, 0.504], "loss/score": [0.05149, 0.01802, 0.65], "loss/angle": [0.4958, 0.4256, 0.141], "loss/width": [0.6491, 0.2099, 0.677], "loss/tolerance": [1.138, 0.4851, 0.574], "loss": [3.355, 1.586, 0.527]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.192, "peak_gpu_mib": 2605.2, "seconds": 12.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/multi-scale", "group": "stage", "method": "GSNet", "sets": ["grouper=multi-scale"], "slot": "grouper", "component": "MultiScaleGroup", "variant": "multi-scale", "verdict": "runs", "judge": 2, "config_hash": "0814e6e5e94ea939", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=multi-scale -o stage__GSNet__grouper__multi-scale.yaml", "probe": "grasppanda probe stage__GSNet__grouper__multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 19139720, "iterations": 20, "batch_size": 4, "grasps_per_frame": [989, 833], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.57], "loss/graspness": [5.176, 0.3264], "loss/view": [6.291, 0.4383], "loss/score": [0.3143, 0.0163], "loss/width": [2.187, 0.1349], "loss": [14.76, 1.486]}, "trend": {"loss/objectness": [0.7893, 0.602, 0.237], "loss/graspness": [5.176, 0.3299, 0.936], "loss/view": [6.291, 0.3809, 0.939], "loss/score": [0.3143, 0.01973, 0.937], "loss/width": [2.187, 0.1652, 0.924], "loss": [14.76, 1.498, 0.899]}, "real_seeds": {"min": 0.917, "mean": 0.996, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.07222, 0.08199, 0.09086], [0.07319, 0.0817, 0.09411]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.372, "peak_gpu_mib": 6518.4, "seconds": 42.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/multi-scale", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=multi-scale"], "slot": "grouper", "component": "MultiScaleGroup", "variant": "multi-scale", "verdict": "runs", "judge": 2, "config_hash": "a84003b338714150", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=multi-scale -o stage__EconomicGrasp__grouper__multi-scale.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 19133441, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5407], "loss/graspness": [5.216, 0.2341], "loss/view": [6.545, 0.6984], "loss/angle": [3.311, 0.924], "loss/depth": [1.829, 0.4641], "loss/score": [1.92, 0.7564], "loss/width": [1.331, 0.7035], "loss": [20.94, 4.321]}, "trend": {"loss/objectness": [0.7845, 0.5385, 0.314], "loss/graspness": [5.216, 0.2607, 0.95], "loss/view": [6.545, 0.7005, 0.893], "loss/angle": [3.311, 0.7363, 0.778], "loss/depth": [1.829, 0.401, 0.781], "loss/score": [1.92, 0.6136, 0.68], "loss/width": [1.331, 0.9114, 0.315], "loss": [20.94, 4.162, 0.801]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.857, -1.851, -1.842], [-1.86, -1.851, -1.837]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.326, "peak_gpu_mib": 5948.0, "seconds": 41.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/multi-scale", "group": "stage", "method": "FineGrasp", "sets": ["grouper=multi-scale"], "slot": "grouper", "component": "MultiScaleGroup", "variant": "multi-scale", "verdict": "runs", "judge": 2, "config_hash": "254815dc944eef7c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=multi-scale -o stage__FineGrasp__grouper__multi-scale.yaml", "probed_as": "stage/FineGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/multi-scale", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=multi-scale"], "slot": "grouper", "component": "MultiScaleGroup", "variant": "multi-scale", "verdict": "runs", "judge": 2, "config_hash": "87356771c83a781d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=multi-scale -o stage__GraspNet-baseline__grouper__multi-scale.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4772933, "iterations": 20, "batch_size": 2, "grasps_per_frame": [151, 459], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6626], "loss/view": [0.2001, 0.09167], "loss/score": [0.05232, 0.03476], "loss/angle": [0.5204, 0.4749], "loss/width": [0.447, 0.2752], "loss/tolerance": [1.181, 0.5896], "loss": [3.164, 2.129]}, "trend": {"loss/objectness": [0.7623, 0.6694, 0.122], "loss/view": [0.2001, 0.09163, 0.542], "loss/score": [0.05232, 0.03833, 0.268], "loss/angle": [0.5204, 0.4552, 0.125], "loss/width": [0.447, 0.3062, 0.315], "loss/tolerance": [1.181, 0.7228, 0.388], "loss": [3.164, 2.284, 0.278]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-9.399, -1.113, 6.712], [-14.49, -4.554, 7.446]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 4167.6, "seconds": 12.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/multi-scale", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=multi-scale"], "slot": "grouper", "component": "MultiScaleGroup", "variant": "multi-scale", "verdict": "runs", "judge": 2, "config_hash": "8c8664275ccbff88", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=multi-scale -o stage__Scale-Balanced-Grasp__grouper__multi-scale.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__multi-scale.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 4869829, "iterations": 20, "batch_size": 2, "grasps_per_frame": [25, 24], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3258], "loss/view": [0.2608, 0.1166], "loss/score": [0.05949, 0.02392], "loss/angle": [0.5263, 0.4644], "loss/width": [0.5839, 0.1323], "loss/tolerance": [0.9989, 0.3055], "loss": [3.189, 1.369]}, "trend": {"loss/objectness": [0.7596, 0.3082, 0.594], "loss/view": [0.2608, 0.1291, 0.505], "loss/score": [0.05949, 0.0229, 0.615], "loss/angle": [0.5263, 0.4538, 0.138], "loss/width": [0.5839, 0.1732, 0.703], "loss/tolerance": [0.9989, 0.3498, 0.65], "loss": [3.189, 1.437, 0.549]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.1623, 0.801, 1.715], [-0.3145, 0.4866, 1.106]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.34, "peak_gpu_mib": 4362.6, "seconds": 14.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/pyg-edge-conv", "group": "stage", "method": "GSNet", "sets": ["grouper=pyg-edge-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-edge-conv", "verdict": "runs", "judge": 2, "config_hash": "f135f5a3cce93fae", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=pyg-edge-conv -o stage__GSNet__grouper__pyg-edge-conv.yaml", "probe": "grasppanda probe stage__GSNet__grouper__pyg-edge-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15486127, "iterations": 20, "batch_size": 4, "grasps_per_frame": [919, 675], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5801], "loss/graspness": [5.176, 0.3068], "loss/view": [6.291, 0.3829], "loss/score": [0.2466, 0.05503], "loss/width": [2.371, 0.2689], "loss": [14.87, 1.594]}, "trend": {"loss/objectness": [0.7893, 0.6175, 0.218], "loss/graspness": [5.176, 0.2981, 0.942], "loss/view": [6.291, 0.3669, 0.942], "loss/score": [0.2466, 0.06272, 0.746], "loss/width": [2.371, 0.285, 0.88], "loss": [14.87, 1.63, 0.89]}, "real_seeds": {"min": 0.857, "mean": 0.985, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.04108, 0.06982, 0.1323], [0.04652, 0.07092, 0.1951]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.249, "peak_gpu_mib": 1891.2, "seconds": 37.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/pyg-edge-conv", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=pyg-edge-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-edge-conv", "verdict": "runs", "judge": 2, "config_hash": "aac6968507c59101", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=pyg-edge-conv -o stage__EconomicGrasp__grouper__pyg-edge-conv.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__pyg-edge-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15479848, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5531], "loss/graspness": [5.216, 0.2933], "loss/view": [6.545, 0.7005], "loss/angle": [2.076, 0.7369], "loss/depth": [1.487, 0.3414], "loss/score": [1.514, 0.6506], "loss/width": [4.298, 0.6833], "loss": [21.92, 3.959]}, "trend": {"loss/objectness": [0.7845, 0.561, 0.285], "loss/graspness": [5.216, 0.3178, 0.939], "loss/view": [6.545, 0.7174, 0.89], "loss/angle": [2.076, 0.7657, 0.631], "loss/depth": [1.487, 0.4069, 0.726], "loss/score": [1.514, 0.6543, 0.568], "loss/width": [4.298, 0.7255, 0.831], "loss": [21.92, 4.149, 0.811]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.807, -2.575, -0.2759], [-3.783, -2.572, -1.147]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.189, "peak_gpu_mib": 1762.4, "seconds": 35.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/pyg-edge-conv", "group": "stage", "method": "FineGrasp", "sets": ["grouper=pyg-edge-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-edge-conv", "verdict": "runs", "judge": 2, "config_hash": "c8650bf923d13b09", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=pyg-edge-conv -o stage__FineGrasp__grouper__pyg-edge-conv.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__pyg-edge-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15491848, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6334], "loss/graspness": [2.473, 0.3321], "loss/view": [5.497, 0.6172], "loss/angle": [2.634, 1.036], "loss/depth": [1.3, 0.5343], "loss/score": [2.236, 0.9009], "loss/width": [2.168, 0.7443], "loss": [17.11, 4.798]}, "trend": {"loss/objectness": [0.8058, 0.6452, 0.199], "loss/graspness": [2.473, 0.3659, 0.852], "loss/view": [5.497, 0.6532, 0.881], "loss/angle": [2.634, 1.007, 0.618], "loss/depth": [1.3, 0.505, 0.611], "loss/score": [2.236, 0.8364, 0.626], "loss/width": [2.168, 0.7929, 0.634], "loss": [17.11, 4.805, 0.719]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.057, "mean": 0.853, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.116, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.376, -1.001, -0.5974], [-1.416, -0.9767, -0.592]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.291, "peak_gpu_mib": 3340.3, "seconds": 73.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/pyg-edge-conv", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=pyg-edge-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-edge-conv", "verdict": "runs", "judge": 2, "config_hash": "5d356e07fe00a53f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=pyg-edge-conv -o stage__GraspNet-baseline__grouper__pyg-edge-conv.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__pyg-edge-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1250412, "iterations": 20, "batch_size": 2, "grasps_per_frame": [680, 429], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6209], "loss/view": [0.2001, 0.08495], "loss/score": [0.05841, 0.03585], "loss/angle": [0.5419, 0.4717], "loss/width": [0.3496, 0.09845], "loss/tolerance": [1.287, 0.3152], "loss": [3.199, 1.627]}, "trend": {"loss/objectness": [0.7623, 0.6277, 0.177], "loss/view": [0.2001, 0.0876, 0.562], "loss/score": [0.05841, 0.03515, 0.398], "loss/angle": [0.5419, 0.4649, 0.142], "loss/width": [0.3496, 0.1606, 0.541], "loss/tolerance": [1.287, 0.4286, 0.667], "loss": [3.199, 1.805, 0.436]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-12.74, -0.4152, 26.41], [-17.66, -0.3021, 56.23]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.191, "peak_gpu_mib": 1883.5, "seconds": 12.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/pyg-edge-conv", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=pyg-edge-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-edge-conv", "verdict": "runs", "judge": 2, "config_hash": "db8408e62914d253", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=pyg-edge-conv -o stage__Scale-Balanced-Grasp__grouper__pyg-edge-conv.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__pyg-edge-conv.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1347308, "iterations": 20, "batch_size": 2, "grasps_per_frame": [20, 10], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3261], "loss/view": [0.2608, 0.1141], "loss/score": [0.05594, 0.03385], "loss/angle": [0.5204, 0.4822], "loss/width": [0.7572, 0.08986], "loss/tolerance": [1.136, 0.1703], "loss": [3.49, 1.216]}, "trend": {"loss/objectness": [0.7596, 0.3058, 0.597], "loss/view": [0.2608, 0.1269, 0.513], "loss/score": [0.05594, 0.02476, 0.557], "loss/angle": [0.5204, 0.4643, 0.108], "loss/width": [0.7572, 0.06258, 0.917], "loss/tolerance": [1.136, 0.1434, 0.874], "loss": [3.49, 1.128, 0.677]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.1254, -0.09222, 0.07568], [-0.1458, -0.0871, -0.02349]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.239, "peak_gpu_mib": 2076.6, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/pyg-gatv2-conv", "group": "stage", "method": "GSNet", "sets": ["grouper=pyg-gatv2-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-gatv2-conv", "verdict": "runs", "judge": 2, "config_hash": "1ed0fcc044693857", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=pyg-gatv2-conv -o stage__GSNet__grouper__pyg-gatv2-conv.yaml", "probe": "grasppanda probe stage__GSNet__grouper__pyg-gatv2-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16210863, "iterations": 20, "batch_size": 4, "grasps_per_frame": [346, 390], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5521], "loss/graspness": [5.176, 0.3231], "loss/view": [6.291, 0.4433], "loss/score": [0.1917, 0.06417], "loss/width": [2.046, 0.3251], "loss": [14.49, 1.708]}, "trend": {"loss/objectness": [0.7893, 0.5868, 0.257], "loss/graspness": [5.176, 0.3088, 0.94], "loss/view": [6.291, 0.3796, 0.94], "loss/score": [0.1917, 0.06109, 0.681], "loss/width": [2.046, 0.3251, 0.841], "loss": [14.49, 1.661, 0.885]}, "real_seeds": {"min": 0.811, "mean": 0.969, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.0425, 0.0577, 0.1113], [0.04416, 0.06527, 0.1274]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.184, "peak_gpu_mib": 2826.8, "seconds": 30.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/pyg-gatv2-conv", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=pyg-gatv2-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-gatv2-conv", "verdict": "runs", "judge": 2, "config_hash": "b821bdb354858b6c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=pyg-gatv2-conv -o stage__EconomicGrasp__grouper__pyg-gatv2-conv.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__pyg-gatv2-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16204584, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6025], "loss/graspness": [5.216, 0.3005], "loss/view": [6.545, 0.6959], "loss/angle": [3.104, 0.8159], "loss/depth": [1.545, 0.4515], "loss/score": [1.899, 0.6854], "loss/width": [2.667, 0.718], "loss": [21.76, 4.27]}, "trend": {"loss/objectness": [0.7845, 0.6098, 0.223], "loss/graspness": [5.216, 0.3764, 0.928], "loss/view": [6.545, 0.7178, 0.89], "loss/angle": [3.104, 0.719, 0.768], "loss/depth": [1.545, 0.4069, 0.737], "loss/score": [1.899, 0.6306, 0.668], "loss/width": [2.667, 0.7666, 0.713], "loss": [21.76, 4.227, 0.806]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.146, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-4.061, -3.234, -2.51], [-4.13, -3.111, -2.23]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.478, "peak_gpu_mib": 2699.7, "seconds": 42.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/pyg-gatv2-conv", "group": "stage", "method": "FineGrasp", "sets": ["grouper=pyg-gatv2-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-gatv2-conv", "verdict": "runs", "judge": 2, "config_hash": "064e50dff4fc4b2e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=pyg-gatv2-conv -o stage__FineGrasp__grouper__pyg-gatv2-conv.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__pyg-gatv2-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 16216584, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6439], "loss/graspness": [2.473, 0.3026], "loss/view": [5.497, 0.6099], "loss/angle": [2.872, 1.037], "loss/depth": [1.857, 0.5295], "loss/score": [2.312, 0.8959], "loss/width": [2.113, 0.7507], "loss": [17.93, 4.769]}, "trend": {"loss/objectness": [0.8058, 0.6504, 0.193], "loss/graspness": [2.473, 0.3436, 0.861], "loss/view": [5.497, 0.6456, 0.883], "loss/angle": [2.872, 0.9666, 0.663], "loss/depth": [1.857, 0.5047, 0.728], "loss/score": [2.312, 0.8209, 0.645], "loss/width": [2.113, 0.7463, 0.647], "loss": [17.93, 4.678, 0.739]}, "real_seeds": {"min": 0.014, "mean": 0.911, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.433, -2.356, -2.297], [-2.465, -2.371, -2.314]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.307, "peak_gpu_mib": 5245.6, "seconds": 70.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/pyg-gatv2-conv", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=pyg-gatv2-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-gatv2-conv", "verdict": "runs", "judge": 2, "config_hash": "f99b761396326728", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=pyg-gatv2-conv -o stage__GraspNet-baseline__grouper__pyg-gatv2-conv.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__pyg-gatv2-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1581932, "iterations": 20, "batch_size": 2, "grasps_per_frame": [463, 669], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6248], "loss/view": [0.2001, 0.08427], "loss/score": [0.06062, 0.0305], "loss/angle": [0.51, 0.4518], "loss/width": [0.5162, 0.3025], "loss/tolerance": [1.762, 0.4928], "loss": [3.812, 1.987]}, "trend": {"loss/objectness": [0.7623, 0.6511, 0.146], "loss/view": [0.2001, 0.08831, 0.559], "loss/score": [0.06062, 0.02947, 0.514], "loss/angle": [0.51, 0.4589, 0.1], "loss/width": [0.5162, 0.3208, 0.379], "loss/tolerance": [1.762, 0.6263, 0.645], "loss": [3.812, 2.175, 0.429]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-25.55, -0.1405, 81.33], [-271.6, -0.7859, 149.7]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.204, "peak_gpu_mib": 2169.5, "seconds": 12.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/pyg-gatv2-conv", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=pyg-gatv2-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-gatv2-conv", "verdict": "runs", "judge": 2, "config_hash": "d7fb62c7449b5771", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=pyg-gatv2-conv -o stage__Scale-Balanced-Grasp__grouper__pyg-gatv2-conv.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__pyg-gatv2-conv.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1678828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [16, 1], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3135], "loss/view": [0.2608, 0.1127], "loss/score": [0.04845, 0.02495], "loss/angle": [0.5293, 0.4668], "loss/width": [0.5368, 0.1766], "loss/tolerance": [1.426, 0.4356], "loss": [3.561, 1.53]}, "trend": {"loss/objectness": [0.7596, 0.3051, 0.598], "loss/view": [0.2608, 0.1264, 0.515], "loss/score": [0.04845, 0.02374, 0.51], "loss/angle": [0.5293, 0.4688, 0.114], "loss/width": [0.5368, 0.2059, 0.616], "loss/tolerance": [1.426, 0.6264, 0.561], "loss": [3.561, 1.756, 0.507]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.8046, 0.6759, 2.916], [2.153, 2.153, 2.153]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.247, "peak_gpu_mib": 2365.8, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/pyg-point-transformer-conv", "group": "stage", "method": "GSNet", "sets": ["grouper=pyg-point-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-point-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "d1629a72c086fb8f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=pyg-point-transformer-conv -o stage__GSNet__grouper__pyg-point-transformer-conv.yaml", "probe": "grasppanda probe stage__GSNet__grouper__pyg-point-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15550127, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 824], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5869], "loss/graspness": [5.176, 0.3096], "loss/view": [6.291, 0.4395], "loss/score": [0.2477, 0.04219], "loss/width": [2.058, 0.4286], "loss": [14.56, 1.807]}, "trend": {"loss/objectness": [0.7893, 0.6058, 0.232], "loss/graspness": [5.176, 0.3031, 0.941], "loss/view": [6.291, 0.3709, 0.941], "loss/score": [0.2477, 0.04686, 0.811], "loss/width": [2.058, 0.3826, 0.814], "loss": [14.56, 1.709, 0.883]}, "real_seeds": {"min": 0.913, "mean": 0.994, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.04967, 0.08687, 0.1511], [0.05404, 0.09199, 1.24]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.206, "peak_gpu_mib": 1836.2, "seconds": 35.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/pyg-point-transformer-conv", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=pyg-point-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-point-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "03021647076e1867", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=pyg-point-transformer-conv -o stage__EconomicGrasp__grouper__pyg-point-transformer-conv.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__pyg-point-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15543848, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.649], "loss/graspness": [5.216, 0.3521], "loss/view": [6.545, 0.7013], "loss/angle": [2.451, 0.7794], "loss/depth": [1.93, 0.4007], "loss/score": [1.858, 0.6691], "loss/width": [2.609, 0.707], "loss": [21.39, 4.259]}, "trend": {"loss/objectness": [0.7845, 0.6276, 0.2], "loss/graspness": [5.216, 0.3345, 0.936], "loss/view": [6.545, 0.7082, 0.892], "loss/angle": [2.451, 0.7493, 0.694], "loss/depth": [1.93, 0.4228, 0.781], "loss/score": [1.858, 0.6512, 0.65], "loss/width": [2.609, 0.6945, 0.734], "loss": [21.39, 4.188, 0.804]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.141, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.43, -2.904, -2.189], [-3.423, -2.88, -2.225]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.152, "peak_gpu_mib": 1618.3, "seconds": 33.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/pyg-point-transformer-conv", "group": "stage", "method": "FineGrasp", "sets": ["grouper=pyg-point-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-point-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "9e43114ff709efb4", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=pyg-point-transformer-conv -o stage__FineGrasp__grouper__pyg-point-transformer-conv.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__pyg-point-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15555848, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6378], "loss/graspness": [2.473, 0.2788], "loss/view": [5.497, 0.6092], "loss/angle": [2.749, 1.035], "loss/depth": [1.612, 0.5021], "loss/score": [1.724, 0.8504], "loss/width": [2.22, 0.7473], "loss": [17.08, 4.661]}, "trend": {"loss/objectness": [0.8058, 0.6401, 0.206], "loss/graspness": [2.473, 0.2947, 0.881], "loss/view": [5.497, 0.6063, 0.89], "loss/angle": [2.749, 0.9066, 0.67], "loss/depth": [1.612, 0.4625, 0.713], "loss/score": [1.724, 0.7696, 0.554], "loss/width": [2.22, 0.7262, 0.673], "loss": [17.08, 4.406, 0.742]}, "real_seeds": {"min": 0.717, "mean": 0.966, "zero_iterations": 0}, "supervised_seeds": {"min": 0.027, "mean": 0.126, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.848, -2.474, -2.021], [-2.836, -2.481, -2.053]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.295, "peak_gpu_mib": 3028.5, "seconds": 68.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/pyg-point-transformer-conv", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=pyg-point-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-point-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "27448a72ca837c9c", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=pyg-point-transformer-conv -o stage__GraspNet-baseline__grouper__pyg-point-transformer-conv.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__pyg-point-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1248876, "iterations": 20, "batch_size": 2, "grasps_per_frame": [545, 383], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6134], "loss/view": [0.2001, 0.08519], "loss/score": [0.08225, 0.03864], "loss/angle": [0.4984, 0.487], "loss/width": [0.5666, 0.2325], "loss/tolerance": [1.118, 0.39], "loss": [3.228, 1.847]}, "trend": {"loss/objectness": [0.7623, 0.6302, 0.173], "loss/view": [0.2001, 0.08915, 0.555], "loss/score": [0.08225, 0.03791, 0.539], "loss/angle": [0.4984, 0.4694, 0.058], "loss/width": [0.5666, 0.2697, 0.524], "loss/tolerance": [1.118, 0.5971, 0.466], "loss": [3.228, 2.093, 0.351]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-3.795, 9.246, 91.44], [-21.88, 2.194, 46.54]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.195, "peak_gpu_mib": 1910.2, "seconds": 12.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/pyg-point-transformer-conv", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=pyg-point-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-point-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "6a19c19a5b6120ef", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=pyg-point-transformer-conv -o stage__Scale-Balanced-Grasp__grouper__pyg-point-transformer-conv.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__pyg-point-transformer-conv.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1345772, "iterations": 20, "batch_size": 2, "grasps_per_frame": [21, 10], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.325], "loss/view": [0.2608, 0.1097], "loss/score": [0.04606, 0.02656], "loss/angle": [0.4999, 0.4557], "loss/width": [0.4598, 0.2301], "loss/tolerance": [0.9698, 0.3229], "loss": [2.996, 1.47]}, "trend": {"loss/objectness": [0.7596, 0.3123, 0.589], "loss/view": [0.2608, 0.1281, 0.509], "loss/score": [0.04606, 0.0197, 0.572], "loss/angle": [0.4999, 0.4438, 0.112], "loss/width": [0.4598, 0.1996, 0.566], "loss/tolerance": [0.9698, 0.3393, 0.65], "loss": [2.996, 1.443, 0.518]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.06111, 0.8299, 1.612], [-1.042, -0.1194, 1.618]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.241, "peak_gpu_mib": 2105.2, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/pyg-pointnet-conv", "group": "stage", "method": "GSNet", "sets": ["grouper=pyg-pointnet-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-pointnet-conv", "verdict": "runs", "judge": 2, "config_hash": "423c0ac46219dbec", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=pyg-pointnet-conv -o stage__GSNet__grouper__pyg-pointnet-conv.yaml", "probe": "grasppanda probe stage__GSNet__grouper__pyg-pointnet-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15354287, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5388], "loss/graspness": [5.176, 0.3532], "loss/view": [6.291, 0.4695], "loss/score": [0.2662, 0.06509], "loss/width": [2.522, 0.294], "loss": [15.05, 1.721]}, "trend": {"loss/objectness": [0.7893, 0.5707, 0.277], "loss/graspness": [5.176, 0.3692, 0.929], "loss/view": [6.291, 0.4046, 0.936], "loss/score": [0.2662, 0.06839, 0.743], "loss/width": [2.522, 0.2842, 0.887], "loss": [15.05, 1.697, 0.887]}, "real_seeds": {"min": 0.578, "mean": 0.954, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.04218, 0.07482, 0.1133], [0.04318, 0.07883, 0.4736]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.193, "peak_gpu_mib": 1715.5, "seconds": 29.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/pyg-pointnet-conv", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=pyg-pointnet-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-pointnet-conv", "verdict": "runs", "judge": 2, "config_hash": "6faf718589b64b7d", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=pyg-pointnet-conv -o stage__EconomicGrasp__grouper__pyg-pointnet-conv.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__pyg-pointnet-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15348008, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6562], "loss/graspness": [5.216, 0.3992], "loss/view": [6.545, 0.6727], "loss/angle": [2.381, 0.7012], "loss/depth": [1.59, 0.3482], "loss/score": [2.544, 0.6201], "loss/width": [2.846, 0.7319], "loss": [21.91, 4.129]}, "trend": {"loss/objectness": [0.7845, 0.6527, 0.168], "loss/graspness": [5.216, 0.4085, 0.922], "loss/view": [6.545, 0.7184, 0.89], "loss/angle": [2.381, 0.7713, 0.676], "loss/depth": [1.59, 0.3986, 0.749], "loss/score": [2.544, 0.6639, 0.739], "loss/width": [2.846, 0.749, 0.737], "loss": [21.91, 4.362, 0.801]}, "real_seeds": {"min": 0.995, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.397, -1.531, -0.5559], [-3.016, -1.692, -0.775]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.363, "peak_gpu_mib": 1382.6, "seconds": 39.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/pyg-pointnet-conv", "group": "stage", "method": "FineGrasp", "sets": ["grouper=pyg-pointnet-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-pointnet-conv", "verdict": "runs", "judge": 2, "config_hash": "b01d288e2b0ee91a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=pyg-pointnet-conv -o stage__FineGrasp__grouper__pyg-pointnet-conv.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__pyg-pointnet-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15360008, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6529], "loss/graspness": [2.473, 0.4067], "loss/view": [5.497, 0.7828], "loss/angle": [2.758, 1.2], "loss/depth": [1.732, 0.625], "loss/score": [1.762, 0.9813], "loss/width": [1.799, 0.7374], "loss": [16.83, 5.386]}, "trend": {"loss/objectness": [0.8058, 0.6581, 0.183], "loss/graspness": [2.473, 0.4624, 0.813], "loss/view": [5.497, 0.672, 0.878], "loss/angle": [2.758, 0.9676, 0.649], "loss/depth": [1.732, 0.5036, 0.709], "loss/score": [1.762, 0.8254, 0.532], "loss/width": [1.799, 0.9291, 0.484], "loss": [16.83, 5.018, 0.702]}, "real_seeds": {"min": 0.285, "mean": 0.925, "zero_iterations": 0}, "supervised_seeds": {"min": 0.021, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.9885, -0.9064, -0.794], [-1.029, -0.8992, -0.7684]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.302, "peak_gpu_mib": 2535.2, "seconds": 68.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/pyg-pointnet-conv", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=pyg-pointnet-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-pointnet-conv", "verdict": "runs", "judge": 2, "config_hash": "65a651db2dfa0efa", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=pyg-pointnet-conv -o stage__GraspNet-baseline__grouper__pyg-pointnet-conv.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__pyg-pointnet-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1184108, "iterations": 20, "batch_size": 2, "grasps_per_frame": [426, 339], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6207], "loss/view": [0.2001, 0.08765], "loss/score": [0.0701, 0.03029], "loss/angle": [0.5134, 0.4854], "loss/width": [0.4602, 0.1793], "loss/tolerance": [1.218, 0.4006], "loss": [3.225, 1.804]}, "trend": {"loss/objectness": [0.7623, 0.6428, 0.157], "loss/view": [0.2001, 0.08737, 0.563], "loss/score": [0.0701, 0.03464, 0.506], "loss/angle": [0.5134, 0.4555, 0.113], "loss/width": [0.4602, 0.2495, 0.458], "loss/tolerance": [1.218, 0.593, 0.513], "loss": [3.225, 2.063, 0.36]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-36.52, -0.7881, 42.16], [-10.74, -0.4593, 11.91]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.189, "peak_gpu_mib": 1849.9, "seconds": 13.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/pyg-pointnet-conv", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=pyg-pointnet-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-pointnet-conv", "verdict": "runs-empty", "judge": 2, "config_hash": "bd545ba632d95a98", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=pyg-pointnet-conv -o stage__Scale-Balanced-Grasp__grouper__pyg-pointnet-conv.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__pyg-pointnet-conv.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1281004, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3317], "loss/view": [0.2608, 0.1134], "loss/score": [0.05903, 0.02501], "loss/angle": [0.4943, 0.4532], "loss/width": [0.5101, 0.106], "loss/tolerance": [1.446, 0.2574], "loss": [3.53, 1.287]}, "trend": {"loss/objectness": [0.7596, 0.3078, 0.595], "loss/view": [0.2608, 0.1272, 0.512], "loss/score": [0.05903, 0.02016, 0.658], "loss/angle": [0.4943, 0.4353, 0.119], "loss/width": [0.5101, 0.1407, 0.724], "loss/tolerance": [1.446, 0.329, 0.772], "loss": [3.53, 1.36, 0.615]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.229, "peak_gpu_mib": 2043.0, "seconds": 13.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/pyg-transformer-conv", "group": "stage", "method": "GSNet", "sets": ["grouper=pyg-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "4812af56a721b001", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=pyg-transformer-conv -o stage__GSNet__grouper__pyg-transformer-conv.yaml", "probe": "grasppanda probe stage__GSNet__grouper__pyg-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16866223, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5817], "loss/graspness": [5.176, 0.2801], "loss/view": [6.291, 0.3628], "loss/score": [0.2412, 0.05112], "loss/width": [2.1, 0.206], "loss": [14.6, 1.482]}, "trend": {"loss/objectness": [0.7893, 0.6185, 0.216], "loss/graspness": [5.176, 0.3064, 0.941], "loss/view": [6.291, 0.342, 0.946], "loss/score": [0.2412, 0.05533, 0.771], "loss/width": [2.1, 0.288, 0.863], "loss": [14.6, 1.61, 0.89]}, "real_seeds": {"min": 0.865, "mean": 0.991, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.04802, 0.09817, 0.1579], [0.05498, 0.09712, 0.865]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.239, "peak_gpu_mib": 3347.4, "seconds": 42.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/pyg-transformer-conv", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=pyg-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "61e06d6532cb796b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=pyg-transformer-conv -o stage__EconomicGrasp__grouper__pyg-transformer-conv.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__pyg-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16859944, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6484], "loss/graspness": [5.216, 0.2889], "loss/view": [6.545, 0.6795], "loss/angle": [2.355, 0.7988], "loss/depth": [1.537, 0.3837], "loss/score": [1.818, 0.7224], "loss/width": [2.561, 0.7221], "loss": [20.82, 4.244]}, "trend": {"loss/objectness": [0.7845, 0.6147, 0.216], "loss/graspness": [5.216, 0.2912, 0.944], "loss/view": [6.545, 0.6767, 0.897], "loss/angle": [2.355, 0.7273, 0.691], "loss/depth": [1.537, 0.4011, 0.739], "loss/score": [1.818, 0.6483, 0.643], "loss/width": [2.561, 0.7297, 0.715], "loss": [20.82, 4.089, 0.804]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.133, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.372, -2.509, -1.248], [-3.39, -2.476, -1.232]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.217, "peak_gpu_mib": 3210.4, "seconds": 38.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/pyg-transformer-conv", "group": "stage", "method": "FineGrasp", "sets": ["grouper=pyg-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "cb5a10e7b40bbc26", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=pyg-transformer-conv -o stage__FineGrasp__grouper__pyg-transformer-conv.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__pyg-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 16871944, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6052], "loss/graspness": [2.473, 0.3196], "loss/view": [5.497, 0.7713], "loss/angle": [2.076, 0.9924], "loss/depth": [2.103, 0.5694], "loss/score": [2.11, 0.8545], "loss/width": [1.91, 0.6923], "loss": [16.98, 4.804]}, "trend": {"loss/objectness": [0.8058, 0.6139, 0.238], "loss/graspness": [2.473, 0.3724, 0.849], "loss/view": [5.497, 0.7782, 0.858], "loss/angle": [2.076, 0.9302, 0.552], "loss/depth": [2.103, 0.5185, 0.753], "loss/score": [2.11, 0.7879, 0.627], "loss/width": [1.91, 0.707, 0.63], "loss": [16.98, 4.708, 0.723]}, "real_seeds": {"min": 0.402, "mean": 0.945, "zero_iterations": 0}, "supervised_seeds": {"min": 0.064, "mean": 0.171, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.766, -2.416, -1.898], [-2.798, -2.45, -1.985]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.537, "peak_gpu_mib": 6210.5, "seconds": 81.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/pyg-transformer-conv", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=pyg-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-transformer-conv", "verdict": "runs", "judge": 2, "config_hash": "99ab065e21acfbb6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=pyg-transformer-conv -o stage__GraspNet-baseline__grouper__pyg-transformer-conv.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__pyg-transformer-conv.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1909612, "iterations": 20, "batch_size": 2, "grasps_per_frame": [464, 461], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6019], "loss/view": [0.2001, 0.08754], "loss/score": [0.09132, 0.02724], "loss/angle": [0.5324, 0.4656], "loss/width": [0.546, 0.2383], "loss/tolerance": [1.252, 0.3444], "loss": [3.384, 1.765]}, "trend": {"loss/objectness": [0.7623, 0.6343, 0.168], "loss/view": [0.2001, 0.0876, 0.562], "loss/score": [0.09132, 0.03098, 0.661], "loss/angle": [0.5324, 0.4576, 0.14], "loss/width": [0.546, 0.2235, 0.591], "loss/tolerance": [1.252, 0.414, 0.669], "loss": [3.384, 1.848, 0.454]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-16.58, 0.275, 21.07], [-11.75, -0.07002, 10.86]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.213, "peak_gpu_mib": 2411.0, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/pyg-transformer-conv", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=pyg-transformer-conv"], "slot": "grouper", "component": "PyGConvGroup", "variant": "pyg-transformer-conv", "verdict": "runs-empty", "judge": 2, "config_hash": "50adccb962d8c20e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=pyg-transformer-conv -o stage__Scale-Balanced-Grasp__grouper__pyg-transformer-conv.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__pyg-transformer-conv.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 2006508, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3357], "loss/view": [0.2608, 0.1096], "loss/score": [0.05464, 0.01841], "loss/angle": [0.5035, 0.4705], "loss/width": [0.5472, 0.07722], "loss/tolerance": [1.426, 0.2577], "loss": [3.551, 1.269]}, "trend": {"loss/objectness": [0.7596, 0.3102, 0.592], "loss/view": [0.2608, 0.1228, 0.529], "loss/score": [0.05464, 0.01898, 0.653], "loss/angle": [0.5035, 0.4509, 0.104], "loss/width": [0.5472, 0.09518, 0.826], "loss/tolerance": [1.426, 0.2577, 0.819], "loss": [3.551, 1.256, 0.646]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.303, "peak_gpu_mib": 2612.5, "seconds": 14.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/roi-aware", "group": "stage", "method": "GSNet", "sets": ["grouper=roi-aware"], "slot": "grouper", "component": "RoIAwareGroup", "variant": "roi-aware", "verdict": "runs", "judge": 2, "config_hash": "5f28140819192806", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=roi-aware -o stage__GSNet__grouper__roi-aware.yaml", "probe": "grasppanda probe stage__GSNet__grouper__roi-aware.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15762767, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 883], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5603], "loss/graspness": [5.176, 0.3188], "loss/view": [6.291, 0.4122], "loss/score": [0.214, 0.06296], "loss/width": [2.118, 0.2361], "loss": [14.59, 1.59]}, "trend": {"loss/objectness": [0.7893, 0.596, 0.245], "loss/graspness": [5.176, 0.3186, 0.938], "loss/view": [6.291, 0.3691, 0.941], "loss/score": [0.214, 0.06512, 0.696], "loss/width": [2.118, 0.2683, 0.873], "loss": [14.59, 1.617, 0.889]}, "real_seeds": {"min": 0.924, "mean": 0.993, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.06983, 0.1295, 0.2718], [0.0749, 0.1336, 0.2207]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.25, "peak_gpu_mib": 5642.5, "seconds": 35.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/roi-aware", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=roi-aware"], "slot": "grouper", "component": "RoIAwareGroup", "variant": "roi-aware", "verdict": "runs", "judge": 2, "config_hash": "28437985bcc6ef50", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=roi-aware -o stage__EconomicGrasp__grouper__roi-aware.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__roi-aware.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15756488, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5651], "loss/graspness": [5.216, 0.2409], "loss/view": [6.545, 0.721], "loss/angle": [2.361, 0.7613], "loss/depth": [1.697, 0.377], "loss/score": [2.127, 0.6241], "loss/width": [2.02, 0.5895], "loss": [20.75, 3.879]}, "trend": {"loss/objectness": [0.7845, 0.5551, 0.292], "loss/graspness": [5.216, 0.2716, 0.948], "loss/view": [6.545, 0.7257, 0.889], "loss/angle": [2.361, 0.7636, 0.677], "loss/depth": [1.697, 0.4027, 0.763], "loss/score": [2.127, 0.6285, 0.705], "loss/width": [2.02, 0.6364, 0.685], "loss": [20.75, 3.983, 0.808]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.153, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-4.489, -3.225, -1.337], [-4.373, -3.154, -1.53]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.788, "peak_gpu_mib": 5734.1, "seconds": 46.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/roi-aware", "group": "stage", "method": "FineGrasp", "sets": ["grouper=roi-aware"], "slot": "grouper", "component": "RoIAwareGroup", "variant": "roi-aware", "verdict": "runs", "judge": 2, "config_hash": "ac8c9ecc1c952a55", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=roi-aware -o stage__FineGrasp__grouper__roi-aware.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__roi-aware.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15768488, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6234], "loss/graspness": [2.473, 0.2787], "loss/view": [5.497, 0.6027], "loss/angle": [3.109, 0.9698], "loss/depth": [2.094, 0.4942], "loss/score": [2.121, 0.7821], "loss/width": [1.707, 0.5513], "loss": [17.81, 4.302]}, "trend": {"loss/objectness": [0.8058, 0.631, 0.217], "loss/graspness": [2.473, 0.2871, 0.884], "loss/view": [5.497, 0.6276, 0.886], "loss/angle": [3.109, 0.9452, 0.696], "loss/depth": [2.094, 0.4741, 0.774], "loss/score": [2.121, 0.7496, 0.647], "loss/width": [1.707, 0.5625, 0.671], "loss": [17.81, 4.277, 0.76]}, "real_seeds": {"min": 0.27, "mean": 0.908, "zero_iterations": 0}, "supervised_seeds": {"min": 0.061, "mean": 0.127, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-4.158, -3.312, -0.7218], [-4.223, -3.079, -0.6608]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.43, "peak_gpu_mib": 11234.3, "seconds": 81.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/roi-aware", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=roi-aware"], "slot": "grouper", "component": "RoIAwareGroup", "variant": "roi-aware", "verdict": "runs", "judge": 2, "config_hash": "ced0df4e0bb38742", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=roi-aware -o stage__GraspNet-baseline__grouper__roi-aware.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__roi-aware.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1649932, "iterations": 20, "batch_size": 2, "grasps_per_frame": [495, 565], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6293], "loss/view": [0.2001, 0.08606], "loss/score": [0.05882, 0.04124], "loss/angle": [0.5126, 0.4977], "loss/width": [0.5373, 0.1979], "loss/tolerance": [1.383, 0.455], "loss": [3.454, 1.907]}, "trend": {"loss/objectness": [0.7623, 0.6403, 0.16], "loss/view": [0.2001, 0.08889, 0.556], "loss/score": [0.05882, 0.03363, 0.428], "loss/angle": [0.5126, 0.4779, 0.068], "loss/width": [0.5373, 0.2025, 0.623], "loss/tolerance": [1.383, 0.4457, 0.678], "loss": [3.454, 1.889, 0.453]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-15.63, -0.01792, 45.02], [-114.2, 0.009429, 329.5]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 2258.9, "seconds": 12.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/roi-aware", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=roi-aware"], "slot": "grouper", "component": "RoIAwareGroup", "variant": "roi-aware", "verdict": "runs-empty", "judge": 2, "config_hash": "8750367987c5b41a", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=roi-aware -o stage__Scale-Balanced-Grasp__grouper__roi-aware.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__roi-aware.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1746828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3264], "loss/view": [0.2608, 0.1113], "loss/score": [0.05614, 0.02106], "loss/angle": [0.4986, 0.4411], "loss/width": [0.5107, 0.1243], "loss/tolerance": [1.031, 0.2321], "loss": [3.117, 1.256]}, "trend": {"loss/objectness": [0.7596, 0.3032, 0.601], "loss/view": [0.2608, 0.1256, 0.518], "loss/score": [0.05614, 0.01995, 0.645], "loss/angle": [0.4986, 0.4289, 0.14], "loss/width": [0.5107, 0.1573, 0.692], "loss/tolerance": [1.031, 0.3161, 0.693], "loss": [3.117, 1.351, 0.567]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.242, "peak_gpu_mib": 2451.8, "seconds": 12.6}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/roi-grid", "group": "stage", "method": "GSNet", "sets": ["grouper=roi-grid"], "slot": "grouper", "component": "RoIGridGroup", "variant": "roi-grid", "verdict": "runs", "judge": 2, "config_hash": "d99e1d7a282fc52e", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=roi-grid -o stage__GSNet__grouper__roi-grid.yaml", "probe": "grasppanda probe stage__GSNet__grouper__roi-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15701615, "iterations": 20, "batch_size": 4, "grasps_per_frame": [559, 394], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5759], "loss/graspness": [5.176, 0.3242], "loss/view": [6.291, 0.3028], "loss/score": [0.2136, 0.05169], "loss/width": [2.275, 0.2699], "loss": [14.75, 1.524]}, "trend": {"loss/objectness": [0.7893, 0.5971, 0.244], "loss/graspness": [5.176, 0.3079, 0.941], "loss/view": [6.291, 0.3784, 0.94], "loss/score": [0.2136, 0.05634, 0.736], "loss/width": [2.275, 0.2346, 0.897], "loss": [14.75, 1.574, 0.893]}, "real_seeds": {"min": 0.737, "mean": 0.97, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.07573, 0.1371, 0.249], [0.0729, 0.1374, 0.2236]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.361, "peak_gpu_mib": 4423.6, "seconds": 41.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/roi-grid", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=roi-grid"], "slot": "grouper", "component": "RoIGridGroup", "variant": "roi-grid", "verdict": "runs", "judge": 2, "config_hash": "92bd11d28227c1b8", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=roi-grid -o stage__EconomicGrasp__grouper__roi-grid.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__roi-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15695336, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5344], "loss/graspness": [5.216, 0.2603], "loss/view": [6.545, 0.7145], "loss/angle": [2.842, 0.7792], "loss/depth": [1.437, 0.3909], "loss/score": [1.863, 0.6312], "loss/width": [2.384, 0.642], "loss": [21.07, 3.952]}, "trend": {"loss/objectness": [0.7845, 0.5385, 0.314], "loss/graspness": [5.216, 0.2885, 0.945], "loss/view": [6.545, 0.7543, 0.885], "loss/angle": [2.842, 0.7238, 0.745], "loss/depth": [1.437, 0.3803, 0.735], "loss/score": [1.863, 0.598, 0.679], "loss/width": [2.384, 0.6681, 0.72], "loss": [21.07, 3.952, 0.812]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.158, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.973, -1.918, -0.5877], [-3.11, -2.057, -0.6506]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.191, "peak_gpu_mib": 4499.5, "seconds": 34.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/roi-grid", "group": "stage", "method": "FineGrasp", "sets": ["grouper=roi-grid"], "slot": "grouper", "component": "RoIGridGroup", "variant": "roi-grid", "verdict": "runs", "judge": 2, "config_hash": "a3f820cb9587cc40", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=roi-grid -o stage__FineGrasp__grouper__roi-grid.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__roi-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15707336, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6405], "loss/graspness": [2.473, 0.27], "loss/view": [5.497, 0.6212], "loss/angle": [2.465, 0.9653], "loss/depth": [1.567, 0.5132], "loss/score": [2.06, 0.7781], "loss/width": [2.931, 0.6132], "loss": [17.8, 4.401]}, "trend": {"loss/objectness": [0.8058, 0.6433, 0.202], "loss/graspness": [2.473, 0.302, 0.878], "loss/view": [5.497, 0.7363, 0.866], "loss/angle": [2.465, 0.9816, 0.602], "loss/depth": [1.567, 0.5617, 0.641], "loss/score": [2.06, 0.8357, 0.594], "loss/width": [2.931, 0.6101, 0.792], "loss": [17.8, 4.671, 0.738]}, "real_seeds": {"min": 0.141, "mean": 0.877, "zero_iterations": 0}, "supervised_seeds": {"min": 0.047, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.919, -2.696, -2.392], [-2.947, -2.737, -2.39]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.367, "peak_gpu_mib": 8764.6, "seconds": 91.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/roi-grid", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=roi-grid"], "slot": "grouper", "component": "RoIGridGroup", "variant": "roi-grid", "verdict": "runs", "judge": 2, "config_hash": "621c521745538dbc", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=roi-grid -o stage__GraspNet-baseline__grouper__roi-grid.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__roi-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1580588, "iterations": 20, "batch_size": 2, "grasps_per_frame": [416, 581], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6576], "loss/view": [0.2001, 0.09147], "loss/score": [0.05889, 0.02853], "loss/angle": [0.4869, 0.4828], "loss/width": [0.5978, 0.1335], "loss/tolerance": [1.43, 0.2746], "loss": [3.535, 1.668]}, "trend": {"loss/objectness": [0.7623, 0.6538, 0.142], "loss/view": [0.2001, 0.09017, 0.549], "loss/score": [0.05889, 0.03281, 0.443], "loss/angle": [0.4869, 0.4539, 0.068], "loss/width": [0.5978, 0.1383, 0.769], "loss/tolerance": [1.43, 0.2801, 0.804], "loss": [3.535, 1.649, 0.534]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-34.88, 0.9461, 92.28], [-40.47, 0.5803, 64.29]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.226, "peak_gpu_mib": 2660.2, "seconds": 12.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/roi-grid", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=roi-grid"], "slot": "grouper", "component": "RoIGridGroup", "variant": "roi-grid", "verdict": "runs", "judge": 2, "config_hash": "b632dc8eec256a6d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=roi-grid -o stage__Scale-Balanced-Grasp__grouper__roi-grid.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__roi-grid.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1677484, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 3], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3275], "loss/view": [0.2608, 0.1132], "loss/score": [0.04729, 0.01789], "loss/angle": [0.5211, 0.4708], "loss/width": [0.5799, 0.0662], "loss/tolerance": [1.214, 0.1613], "loss": [3.383, 1.157]}, "trend": {"loss/objectness": [0.7596, 0.3159, 0.584], "loss/view": [0.2608, 0.1272, 0.512], "loss/score": [0.04729, 0.02021, 0.573], "loss/angle": [0.5211, 0.4595, 0.118], "loss/width": [0.5799, 0.0711, 0.877], "loss/tolerance": [1.214, 0.2169, 0.821], "loss": [3.383, 1.211, 0.642]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[0.5867, 0.5867, 0.5867], [0.1085, 0.2048, 0.212]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.277, "peak_gpu_mib": 2852.5, "seconds": 13.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/voxel-set-abstraction", "group": "stage", "method": "GSNet", "sets": ["grouper=voxel-set-abstraction"], "slot": "grouper", "component": "VoxelSetAbstractionGroup", "variant": "voxel-set-abstraction", "verdict": "runs", "judge": 2, "config_hash": "426377c15c89f5e2", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=voxel-set-abstraction -o stage__GSNet__grouper__voxel-set-abstraction.yaml", "probe": "grasppanda probe stage__GSNet__grouper__voxel-set-abstraction.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15324399, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 905], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.57], "loss/graspness": [5.176, 0.2956], "loss/view": [6.291, 0.3901], "loss/score": [0.2415, 0.05184], "loss/width": [2.108, 0.2853], "loss": [14.61, 1.593]}, "trend": {"loss/objectness": [0.7893, 0.6081, 0.23], "loss/graspness": [5.176, 0.3034, 0.941], "loss/view": [6.291, 0.3536, 0.944], "loss/score": [0.2415, 0.0569, 0.764], "loss/width": [2.108, 0.3302, 0.843], "loss": [14.61, 1.652, 0.887]}, "real_seeds": {"min": 0.919, "mean": 0.996, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.05925, 0.1261, 0.2279], [0.06303, 0.13, 1.099]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.176, "peak_gpu_mib": 1730.0, "seconds": 35.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/voxel-set-abstraction", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=voxel-set-abstraction"], "slot": "grouper", "component": "VoxelSetAbstractionGroup", "variant": "voxel-set-abstraction", "verdict": "runs", "judge": 2, "config_hash": "d66f276ce29c769e", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=voxel-set-abstraction -o stage__EconomicGrasp__grouper__voxel-set-abstraction.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__voxel-set-abstraction.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15318120, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5934], "loss/graspness": [5.216, 0.2557], "loss/view": [6.545, 0.7263], "loss/angle": [2.596, 0.7048], "loss/depth": [1.832, 0.361], "loss/score": [2.374, 0.6177], "loss/width": [2.543, 0.5552], "loss": [21.89, 3.814]}, "trend": {"loss/objectness": [0.7845, 0.5746, 0.268], "loss/graspness": [5.216, 0.2592, 0.95], "loss/view": [6.545, 0.6997, 0.893], "loss/angle": [2.596, 0.7578, 0.708], "loss/depth": [1.832, 0.4236, 0.769], "loss/score": [2.374, 0.6612, 0.721], "loss/width": [2.543, 0.5678, 0.777], "loss": [21.89, 3.944, 0.82]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.853, -2.37, -1.695], [-2.964, -2.347, -1.62]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.678, "peak_gpu_mib": 1133.3, "seconds": 44.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/voxel-set-abstraction", "group": "stage", "method": "FineGrasp", "sets": ["grouper=voxel-set-abstraction"], "slot": "grouper", "component": "VoxelSetAbstractionGroup", "variant": "voxel-set-abstraction", "verdict": "runs", "judge": 2, "config_hash": "20e83b9d1bbfa587", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=voxel-set-abstraction -o stage__FineGrasp__grouper__voxel-set-abstraction.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__voxel-set-abstraction.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15330120, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.62], "loss/graspness": [2.473, 0.2739], "loss/view": [5.497, 0.6228], "loss/angle": [2.512, 0.9177], "loss/depth": [1.2, 0.4415], "loss/score": [1.868, 0.7678], "loss/width": [2.382, 0.4894], "loss": [16.74, 4.133]}, "trend": {"loss/objectness": [0.8058, 0.6278, 0.221], "loss/graspness": [2.473, 0.2955, 0.881], "loss/view": [5.497, 0.686, 0.875], "loss/angle": [2.512, 0.867, 0.655], "loss/depth": [1.2, 0.4377, 0.635], "loss/score": [1.868, 0.7021, 0.624], "loss/width": [2.382, 0.5161, 0.783], "loss": [16.74, 4.132, 0.753]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.088, "mean": 0.903, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.121, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.97, -2.456, -0.3483], [-3.94, -2.41, -0.3555]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.323, "peak_gpu_mib": 2047.0, "seconds": 84.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/voxel-set-abstraction", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=voxel-set-abstraction"], "slot": "grouper", "component": "VoxelSetAbstractionGroup", "variant": "voxel-set-abstraction", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=voxel-set-abstraction -o stage__GraspNet-baseline__grouper__voxel-set-abstraction.yaml", "refusal": ["VoxelSetAbstractionGroup emits features with axes ('seed', 'channel'), but OperationHead expects ('seed', 'depth', 'channel'). No axis adapter turns a scene-support crop with axes ('seed', 'channel') into ('seed', 'depth', 'channel') (DepthEmbedGroup wraps seeds-support crops): such an adapter is not implemented. Use a grouper and a head bundle that agree. Groupers that emit ('seed', 'depth', 'channel'): DepthCylinderGroup, DepthCylinderProjectionGroup, DepthEmbedGroup, DepthLocalGroup. Head bundles that expect ('seed', 'channel'): DecoupledGridHead, EconomicHead, SWADHead."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/voxel-set-abstraction", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=voxel-set-abstraction"], "slot": "grouper", "component": "VoxelSetAbstractionGroup", "variant": "voxel-set-abstraction", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=voxel-set-abstraction -o stage__Scale-Balanced-Grasp__grouper__voxel-set-abstraction.yaml", "refusal": ["VoxelSetAbstractionGroup emits features with axes ('seed', 'channel'), but OperationHead expects ('seed', 'depth', 'channel'). No axis adapter turns a scene-support crop with axes ('seed', 'channel') into ('seed', 'depth', 'channel') (DepthEmbedGroup wraps seeds-support crops): such an adapter is not implemented. Use a grouper and a head bundle that agree. Groupers that emit ('seed', 'depth', 'channel'): DepthCylinderGroup, DepthCylinderProjectionGroup, DepthEmbedGroup, DepthLocalGroup. Head bundles that expect ('seed', 'channel'): DecoupledGridHead, EconomicHead, SWADHead."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/CylinderGroup", "group": "stage", "method": "GSNet", "sets": ["grouper=CylinderGroup"], "slot": "grouper", "component": "CylinderGroup", "variant": "CylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=CylinderGroup -o stage__GSNet__grouper__CylinderGroup.yaml", "probed_as": "stage/GSNet/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/CylinderGroup", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=CylinderGroup"], "slot": "grouper", "component": "CylinderGroup", "variant": "CylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "c4ed8a82cc926649", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=CylinderGroup -o stage__EconomicGrasp__grouper__CylinderGroup.yaml", "probe": "grasppanda probe stage__EconomicGrasp__grouper__CylinderGroup.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15347496, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5511], "loss/graspness": [5.216, 0.2679], "loss/view": [6.545, 0.6759], "loss/angle": [2.721, 0.8162], "loss/depth": [1.135, 0.4047], "loss/score": [1.314, 0.6938], "loss/width": [1.388, 0.7273], "loss": [19.1, 4.137]}, "trend": {"loss/objectness": [0.7845, 0.5396, 0.312], "loss/graspness": [5.216, 0.2949, 0.943], "loss/view": [6.545, 0.6846, 0.895], "loss/angle": [2.721, 0.7559, 0.722], "loss/depth": [1.135, 0.4058, 0.642], "loss/score": [1.314, 0.6461, 0.508], "loss/width": [1.388, 0.7903, 0.431], "loss": [19.1, 4.117, 0.784]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.14, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.737, -2.503, -2.141], [-2.797, -2.525, -2.129]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.166, "peak_gpu_mib": 1339.2, "seconds": 37.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/CylinderGroup", "group": "stage", "method": "FineGrasp", "sets": ["grouper=CylinderGroup"], "slot": "grouper", "component": "CylinderGroup", "variant": "CylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "7d4c1b765ff08c06", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=CylinderGroup -o stage__FineGrasp__grouper__CylinderGroup.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__CylinderGroup.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15359496, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6258], "loss/graspness": [2.473, 0.2701], "loss/view": [5.497, 0.6394], "loss/angle": [2.917, 0.8629], "loss/depth": [1.033, 0.4606], "loss/score": [2.895, 0.7488], "loss/width": [2.044, 0.7324], "loss": [17.67, 4.34]}, "trend": {"loss/objectness": [0.8058, 0.6364, 0.21], "loss/graspness": [2.473, 0.2774, 0.888], "loss/view": [5.497, 0.6188, 0.887], "loss/angle": [2.917, 0.9726, 0.667], "loss/depth": [1.033, 0.5174, 0.499], "loss/score": [2.895, 0.8166, 0.718], "loss/width": [2.044, 0.7894, 0.614], "loss": [17.67, 4.629, 0.738]}, "real_seeds": {"min": 0.428, "mean": 0.956, "zero_iterations": 0}, "supervised_seeds": {"min": 0.05, "mean": 0.12, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.25, -2.081, -1.942], [-2.336, -2.103, -1.977]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.354, "peak_gpu_mib": 2454.6, "seconds": 86.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/CylinderGroup", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=CylinderGroup"], "slot": "grouper", "component": "CylinderGroup", "variant": "CylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "bc71f84f1e18f9c9", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=CylinderGroup -o stage__GraspNet-baseline__grouper__CylinderGroup.yaml", "probed_as": "stage/GraspNet-baseline/grouper/depth-embed", "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/CylinderGroup", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=CylinderGroup"], "slot": "grouper", "component": "CylinderGroup", "variant": "CylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "109560f514863a44", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=CylinderGroup -o stage__Scale-Balanced-Grasp__grouper__CylinderGroup.yaml", "probed_as": "stage/Scale-Balanced-Grasp/grouper/depth-embed", "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/CylinderInteractionGroup", "group": "stage", "method": "GSNet", "sets": ["grouper=CylinderInteractionGroup"], "slot": "grouper", "component": "CylinderInteractionGroup", "variant": "CylinderInteractionGroup", "verdict": "runs", "judge": 2, "config_hash": "97aa0142bc80ec7b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=CylinderInteractionGroup -o stage__GSNet__grouper__CylinderInteractionGroup.yaml", "probe": "grasppanda probe stage__GSNet__grouper__CylinderInteractionGroup.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15756517, "iterations": 20, "batch_size": 4, "grasps_per_frame": [743, 916], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5993], "loss/graspness": [5.176, 0.3733], "loss/view": [6.291, 0.3507], "loss/score": [0.9678, 0.0543], "loss/width": [2.606, 0.2225], "loss": [15.83, 1.6]}, "trend": {"loss/objectness": [0.7893, 0.6004, 0.239], "loss/graspness": [5.176, 0.364, 0.93], "loss/view": [6.291, 0.4974, 0.921], "loss/score": [0.9678, 0.06781, 0.93], "loss/width": [2.606, 0.1996, 0.923], "loss": [15.83, 1.729, 0.891]}, "real_seeds": {"min": 0.415, "mean": 0.913, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.14, 0.2404, 0.3965], [0.1176, 0.2224, 0.3718]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.174, "peak_gpu_mib": 2564.1, "seconds": 39.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/CylinderInteractionGroup", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=CylinderInteractionGroup"], "slot": "grouper", "component": "CylinderInteractionGroup", "variant": "CylinderInteractionGroup", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=CylinderInteractionGroup -o stage__EconomicGrasp__grouper__CylinderInteractionGroup.yaml", "probed_as": "stage/EconomicGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/CylinderInteractionGroup", "group": "stage", "method": "FineGrasp", "sets": ["grouper=CylinderInteractionGroup"], "slot": "grouper", "component": "CylinderInteractionGroup", "variant": "CylinderInteractionGroup", "verdict": "runs", "judge": 2, "config_hash": "ab298a786c6241d3", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=CylinderInteractionGroup -o stage__FineGrasp__grouper__CylinderInteractionGroup.yaml", "probe": "grasppanda probe stage__FineGrasp__grouper__CylinderInteractionGroup.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15762238, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6291], "loss/graspness": [2.473, 0.2732], "loss/view": [5.497, 0.6214], "loss/angle": [2.554, 1.02], "loss/depth": [1.463, 0.5725], "loss/score": [2.308, 0.8801], "loss/width": [1.82, 0.7459], "loss": [16.92, 4.742]}, "trend": {"loss/objectness": [0.8058, 0.6345, 0.213], "loss/graspness": [2.473, 0.3088, 0.875], "loss/view": [5.497, 0.6098, 0.889], "loss/angle": [2.554, 0.9414, 0.631], "loss/depth": [1.463, 0.5122, 0.65], "loss/score": [2.308, 0.806, 0.651], "loss/width": [1.82, 0.7382, 0.594], "loss": [16.92, 4.551, 0.731]}, "real_seeds": {"min": 0.061, "mean": 0.879, "zero_iterations": 0}, "supervised_seeds": {"min": 0.052, "mean": 0.15, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.398, -2.241, -2.001], [-2.483, -2.266, -1.953]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.334, "peak_gpu_mib": 3900.6, "seconds": 69.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/CylinderInteractionGroup", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=CylinderInteractionGroup"], "slot": "grouper", "component": "CylinderInteractionGroup", "variant": "CylinderInteractionGroup", "verdict": "runs", "judge": 2, "config_hash": "855ffb1f65e627a6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=CylinderInteractionGroup -o stage__GraspNet-baseline__grouper__CylinderInteractionGroup.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__grouper__CylinderInteractionGroup.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1586338, "iterations": 20, "batch_size": 2, "grasps_per_frame": [400, 341], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5897], "loss/view": [0.2001, 0.08924], "loss/score": [0.06049, 0.03104], "loss/angle": [0.52, 0.4633], "loss/width": [0.4952, 0.3235], "loss/tolerance": [1.118, 0.6557], "loss": [3.157, 2.152]}, "trend": {"loss/objectness": [0.7623, 0.6265, 0.178], "loss/view": [0.2001, 0.09105, 0.545], "loss/score": [0.06049, 0.03383, 0.441], "loss/angle": [0.52, 0.4663, 0.103], "loss/width": [0.4952, 0.3202, 0.354], "loss/tolerance": [1.118, 0.6474, 0.421], "loss": [3.157, 2.185, 0.308]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-16.4, -0.4559, 14.95], [-21.89, -0.1191, 22.7]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.2, "peak_gpu_mib": 2273.2, "seconds": 11.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/CylinderInteractionGroup", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=CylinderInteractionGroup"], "slot": "grouper", "component": "CylinderInteractionGroup", "variant": "CylinderInteractionGroup", "verdict": "runs", "judge": 2, "config_hash": "4b4a779a24ca89f1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=CylinderInteractionGroup -o stage__Scale-Balanced-Grasp__grouper__CylinderInteractionGroup.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__CylinderInteractionGroup.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1683234, "iterations": 20, "batch_size": 2, "grasps_per_frame": [31, 6], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3387], "loss/view": [0.2608, 0.1164], "loss/score": [0.0618, 0.02236], "loss/angle": [0.4956, 0.4454], "loss/width": [0.3912, 0.1675], "loss/tolerance": [1.068, 0.6792], "loss": [3.037, 1.77]}, "trend": {"loss/objectness": [0.7596, 0.3102, 0.592], "loss/view": [0.2608, 0.127, 0.513], "loss/score": [0.0618, 0.02282, 0.631], "loss/angle": [0.4956, 0.445, 0.102], "loss/width": [0.3912, 0.2461, 0.371], "loss/tolerance": [1.068, 0.6254, 0.414], "loss": [3.037, 1.777, 0.415]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-4.348, 0.964, 3.659], [-1.121, -0.6782, 0.08344]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.256, "peak_gpu_mib": 2466.1, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/grouper/DepthCylinderGroup", "group": "stage", "method": "GSNet", "sets": ["grouper=DepthCylinderGroup"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "DepthCylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "6b84d870d7740d5f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set grouper=DepthCylinderGroup -o stage__GSNet__grouper__DepthCylinderGroup.yaml", "probed_as": "stage/GSNet/grouper/depth-pool", "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/grouper/DepthCylinderGroup", "group": "stage", "method": "EconomicGrasp", "sets": ["grouper=DepthCylinderGroup"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "DepthCylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "b850092381a14d99", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set grouper=DepthCylinderGroup -o stage__EconomicGrasp__grouper__DepthCylinderGroup.yaml", "probed_as": "stage/EconomicGrasp/grouper/depth-pool", "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/grouper/DepthCylinderGroup", "group": "stage", "method": "FineGrasp", "sets": ["grouper=DepthCylinderGroup"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "DepthCylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "5c2965903ecf1b9e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set grouper=DepthCylinderGroup -o stage__FineGrasp__grouper__DepthCylinderGroup.yaml", "probed_as": "stage/FineGrasp/grouper/depth-pool", "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/grouper/DepthCylinderGroup", "group": "stage", "method": "GraspNet-baseline", "sets": ["grouper=DepthCylinderGroup"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "DepthCylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set grouper=DepthCylinderGroup -o stage__GraspNet-baseline__grouper__DepthCylinderGroup.yaml", "probed_as": "reference/GraspNet-baseline", "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/grouper/DepthCylinderGroup", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["grouper=DepthCylinderGroup"], "slot": "grouper", "component": "DepthCylinderGroup", "variant": "DepthCylinderGroup", "verdict": "runs", "judge": 2, "config_hash": "ac995b444ee62115", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set grouper=DepthCylinderGroup -o stage__Scale-Balanced-Grasp__grouper__DepthCylinderGroup.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__grouper__DepthCylinderGroup.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1122860, "iterations": 20, "batch_size": 2, "grasps_per_frame": [252, 255], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.2929], "loss/view": [0.2608, 0.1041], "loss/score": [0.05197, 0.01832], "loss/angle": [0.4988, 0.4541], "loss/width": [0.7884, 0.1495], "loss/tolerance": [1.182, 0.3557], "loss": [3.541, 1.375]}, "trend": {"loss/objectness": [0.7596, 0.2868, 0.622], "loss/view": [0.2608, 0.1187, 0.545], "loss/score": [0.05197, 0.01782, 0.657], "loss/angle": [0.4988, 0.4388, 0.12], "loss/width": [0.7884, 0.1497, 0.81], "loss/tolerance": [1.182, 0.3374, 0.715], "loss": [3.541, 1.349, 0.619]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-11.35, -0.1812, 14.05], [-7.617, -0.1699, 10.14]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.295, "peak_gpu_mib": 4165.0, "seconds": 13.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/decoupled-grid-bins", "group": "stage", "method": "GSNet", "sets": ["head=decoupled-grid-bins"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-bins", "verdict": "runs", "judge": 2, "config_hash": "dff6576d6c2b429a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=decoupled-grid-bins -o stage__GSNet__head__decoupled-grid-bins.yaml", "probe": "grasppanda probe stage__GSNet__head__decoupled-grid-bins.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15329231, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5912], "loss/graspness": [5.176, 0.2964], "loss/view": [6.291, 0.3448], "loss/score": [0.3235, 0.03123], "loss/angle": [2.507, 2.37], "loss/depth": [1.447, 1.262], "loss/width": [2.79, 2.504], "loss": [19.32, 7.4]}, "trend": {"loss/objectness": [0.7893, 0.6195, 0.215], "loss/graspness": [5.176, 0.3131, 0.94], "loss/view": [6.291, 0.3262, 0.948], "loss/score": [0.3235, 0.0343, 0.894], "loss/angle": [2.507, 2.397, 0.044], "loss/depth": [1.447, 1.217, 0.159], "loss/width": [2.79, 2.515, 0.099], "loss": [19.32, 7.422, 0.616]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.462, "mean": 0.966, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-0.09177, -0.05334, -0.009954], [-0.08296, -0.04921, 0.4477]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.246, "peak_gpu_mib": 1841.8, "seconds": 33.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/decoupled-grid-bins", "group": "stage", "method": "EconomicGrasp", "sets": ["head=decoupled-grid-bins"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-bins", "verdict": "runs", "judge": 2, "config_hash": "c6f1937c6da22f8a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid-bins -o stage__EconomicGrasp__head__decoupled-grid-bins.yaml", "probe": "grasppanda probe stage__EconomicGrasp__head__decoupled-grid-bins.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15731973, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7828, 0.524], "loss/graspness": [5.31, 0.2391], "loss/view": [6.004, 0.5244], "loss/score": [0.1403, 0.02352], "loss/angle": [2.49, 2.305], "loss/depth": [1.42, 1.203], "loss/width": [2.763, 2.487], "loss": [18.91, 7.306]}, "trend": {"loss/objectness": [0.7828, 0.5101, 0.348], "loss/graspness": [5.31, 0.2584, 0.951], "loss/view": [6.004, 0.4248, 0.929], "loss/score": [0.1403, 0.02456, 0.825], "loss/angle": [2.49, 2.362, 0.051], "loss/depth": [1.42, 1.23, 0.134], "loss/width": [2.763, 2.476, 0.104], "loss": [18.91, 7.285, 0.615]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 5], "score_quantiles": [[-0.01962, 0.05352, 0.1255], [-0.03068, 0.0458, 0.1212]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.197, "peak_gpu_mib": 2638.3, "seconds": 30.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/decoupled-grid-bins", "group": "stage", "method": "FineGrasp", "sets": ["head=decoupled-grid-bins"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-bins", "verdict": "runs", "judge": 2, "config_hash": "2218bb77b37b6c56", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid-bins -o stage__FineGrasp__head__decoupled-grid-bins.yaml", "probe": "grasppanda probe stage__FineGrasp__head__decoupled-grid-bins.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19127176, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8057, 0.5888], "loss/graspness": [2.413, 0.2515], "loss/view": [5.143, 0.3341], "loss/score": [0.08538, 0.016], "loss/angle": [2.491, 2.32], "loss/depth": [1.414, 1.199], "loss/width": [2.771, 2.442], "loss": [15.12, 7.152]}, "trend": {"loss/objectness": [0.8057, 0.6056, 0.248], "loss/graspness": [2.413, 0.2706, 0.888], "loss/view": [5.143, 0.3826, 0.926], "loss/score": [0.08538, 0.01573, 0.816], "loss/angle": [2.491, 2.368, 0.049], "loss/depth": [1.414, 1.23, 0.13], "loss/width": [2.771, 2.458, 0.113], "loss": [15.12, 7.331, 0.515]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.03, "mean": 0.905, "zero_iterations": 0}, "supervised_seeds": {"min": 0.375, "mean": 0.969, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [[0.01864, 0.01877, 0.01888], [0.01867, 0.01878, 0.01889]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.701, "peak_gpu_mib": 12926.8, "seconds": 75.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/decoupled-grid-bins", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=decoupled-grid-bins"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-bins", "verdict": "runs", "judge": 2, "config_hash": "b4bb31659f9b2a63", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=decoupled-grid-bins -o stage__GraspNet-baseline__head__decoupled-grid-bins.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__head__decoupled-grid-bins.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 985852, "iterations": 20, "batch_size": 2, "grasps_per_frame": [709, 490], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5526], "loss/view": [0.2001, 0.07842], "loss/score": [0.4714, 0.03523], "loss/angle": [2.523, 2.427], "loss/depth": [1.392, 1.129], "loss/width": [2.815, 2.45], "loss": [8.163, 6.672]}, "trend": {"loss/objectness": [0.7623, 0.5771, 0.243], "loss/view": [0.2001, 0.08005, 0.6], "loss/score": [0.4714, 0.03664, 0.922], "loss/angle": [2.523, 2.338, 0.073], "loss/depth": [1.392, 1.247, 0.104], "loss/width": [2.815, 2.472, 0.122], "loss": [8.163, 6.751, 0.173]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 4], "score_quantiles": [[-0.1645, -0.07612, 0.0934], [-0.1558, -0.06242, 0.08186]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.34, "peak_gpu_mib": 3971.4, "seconds": 13.8}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/decoupled-grid-bins", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=decoupled-grid-bins"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-bins", "verdict": "runs", "judge": 2, "config_hash": "f246a7f39793b483", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=decoupled-grid-bins -o stage__Scale-Balanced-Grasp__head__decoupled-grid-bins.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__head__decoupled-grid-bins.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1537084, "iterations": 20, "batch_size": 2, "grasps_per_frame": [18, 5], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.2988], "loss/view": [0.2608, 0.111], "loss/score": [0.1983, 0.06822], "loss/angle": [2.542, 2.369], "loss/depth": [1.399, 1.065], "loss/width": [2.746, 2.431], "loss": [7.906, 6.343]}, "trend": {"loss/objectness": [0.7596, 0.2952, 0.611], "loss/view": [0.2608, 0.1223, 0.531], "loss/score": [0.1983, 0.0716, 0.639], "loss/angle": [2.542, 2.262, 0.11], "loss/depth": [1.399, 1.214, 0.132], "loss/width": [2.746, 2.442, 0.111], "loss": [7.906, 6.407, 0.19]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-0.1956, -0.1451, -0.08538], [-0.1651, -0.1422, -0.1384]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.424, "peak_gpu_mib": 9615.2, "seconds": 16.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/decoupled-grid-class", "group": "stage", "method": "GSNet", "sets": ["head=decoupled-grid-class"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-class", "verdict": "runs", "judge": 2, "config_hash": "dcf19acecaf00cbc", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=decoupled-grid-class -o stage__GSNet__head__decoupled-grid-class.yaml", "probe": "grasppanda probe stage__GSNet__head__decoupled-grid-class.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15329231, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5844], "loss/graspness": [5.176, 0.29], "loss/view": [6.291, 0.3427], "loss/score": [0.3235, 0.03707], "loss/angle": [2.507, 2.393], "loss/depth": [1.447, 1.234], "loss/width": [2.794, 2.535], "loss": [19.33, 7.416]}, "trend": {"loss/objectness": [0.7893, 0.6135, 0.223], "loss/graspness": [5.176, 0.3101, 0.94], "loss/view": [6.291, 0.3277, 0.948], "loss/score": [0.3235, 0.03897, 0.88], "loss/angle": [2.507, 2.388, 0.047], "loss/depth": [1.447, 1.209, 0.164], "loss/width": [2.794, 2.551, 0.087], "loss": [19.33, 7.439, 0.615]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.469, "mean": 0.969, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-0.1043, -0.06975, -0.02229], [-0.1062, -0.06463, 0.2771]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.341, "peak_gpu_mib": 1841.8, "seconds": 31.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/decoupled-grid-class", "group": "stage", "method": "EconomicGrasp", "sets": ["head=decoupled-grid-class"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-class", "verdict": "runs", "judge": 2, "config_hash": "bd76301c3efbd78b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid-class -o stage__EconomicGrasp__head__decoupled-grid-class.yaml", "probe": "grasppanda probe stage__EconomicGrasp__head__decoupled-grid-class.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15731973, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7828, 0.5177], "loss/graspness": [5.31, 0.2399], "loss/view": [6.004, 0.5466], "loss/score": [0.1403, 0.02535], "loss/angle": [2.49, 2.346], "loss/depth": [1.42, 1.269], "loss/width": [2.762, 2.446], "loss": [18.91, 7.391]}, "trend": {"loss/objectness": [0.7828, 0.5024, 0.358], "loss/graspness": [5.31, 0.2565, 0.952], "loss/view": [6.004, 0.4275, 0.929], "loss/score": [0.1403, 0.02445, 0.826], "loss/angle": [2.49, 2.389, 0.04], "loss/depth": [1.42, 1.274, 0.103], "loss/width": [2.762, 2.483, 0.101], "loss": [18.91, 7.357, 0.611]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 5], "score_quantiles": [[-0.05601, 0.03294, 0.115], [-0.05919, 0.02554, 0.1131]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.454, "peak_gpu_mib": 2638.3, "seconds": 42.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/decoupled-grid-class", "group": "stage", "method": "FineGrasp", "sets": ["head=decoupled-grid-class"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-class", "verdict": "runs", "judge": 2, "config_hash": "8355f96721c9bd70", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid-class -o stage__FineGrasp__head__decoupled-grid-class.yaml", "probe": "grasppanda probe stage__FineGrasp__head__decoupled-grid-class.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19127176, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8057, 0.5838], "loss/graspness": [2.413, 0.2538], "loss/view": [5.143, 0.3237], "loss/score": [0.08538, 0.01892], "loss/angle": [2.491, 2.408], "loss/depth": [1.414, 1.265], "loss/width": [2.767, 2.39], "loss": [15.12, 7.243]}, "trend": {"loss/objectness": [0.8057, 0.6021, 0.253], "loss/graspness": [2.413, 0.2695, 0.888], "loss/view": [5.143, 0.3885, 0.924], "loss/score": [0.08538, 0.01754, 0.795], "loss/angle": [2.491, 2.391, 0.04], "loss/depth": [1.414, 1.227, 0.133], "loss/width": [2.767, 2.438, 0.119], "loss": [15.12, 7.333, 0.515]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.031, "mean": 0.905, "zero_iterations": 0}, "supervised_seeds": {"min": 0.375, "mean": 0.969, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [[0.05685, 0.05691, 0.05705], [0.05681, 0.05691, 0.05706]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.749, "peak_gpu_mib": 12922.3, "seconds": 79.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/decoupled-grid-class", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=decoupled-grid-class"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-class", "verdict": "runs", "judge": 2, "config_hash": "d7c1d8bc036569b9", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=decoupled-grid-class -o stage__GraspNet-baseline__head__decoupled-grid-class.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__head__decoupled-grid-class.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 985852, "iterations": 20, "batch_size": 2, "grasps_per_frame": [401, 643], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5755], "loss/view": [0.2001, 0.07465], "loss/score": [0.4714, 0.02959], "loss/angle": [2.523, 2.61], "loss/depth": [1.392, 1.073], "loss/width": [2.813, 2.495], "loss": [8.161, 6.858]}, "trend": {"loss/objectness": [0.7623, 0.5826, 0.236], "loss/view": [0.2001, 0.0789, 0.606], "loss/score": [0.4714, 0.02986, 0.937], "loss/angle": [2.523, 2.374, 0.059], "loss/depth": [1.392, 1.224, 0.12], "loss/width": [2.813, 2.491, 0.115], "loss": [8.161, 6.779, 0.169]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 4], "score_quantiles": [[-0.08049, 0.04426, 0.1284], [-0.05784, 0.05455, 0.1369]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.29, "peak_gpu_mib": 3971.4, "seconds": 13.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/decoupled-grid-class", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=decoupled-grid-class"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-class", "verdict": "runs", "judge": 2, "config_hash": "ddf20cbc564c8561", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=decoupled-grid-class -o stage__Scale-Balanced-Grasp__head__decoupled-grid-class.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__head__decoupled-grid-class.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1537084, "iterations": 20, "batch_size": 2, "grasps_per_frame": [29, 32], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.2927], "loss/view": [0.2608, 0.1116], "loss/score": [0.1983, 0.06993], "loss/angle": [2.542, 2.384], "loss/depth": [1.399, 1.138], "loss/width": [2.742, 2.473], "loss": [7.902, 6.468]}, "trend": {"loss/objectness": [0.7596, 0.2911, 0.617], "loss/view": [0.2608, 0.1239, 0.525], "loss/score": [0.1983, 0.07048, 0.645], "loss/angle": [2.542, 2.19, 0.139], "loss/depth": [1.399, 1.239, 0.115], "loss/width": [2.742, 2.458, 0.104], "loss": [7.902, 6.373, 0.194]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-0.05037, -0.00412, 0.05146], [-0.0531, -0.01023, 0.04818]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.425, "peak_gpu_mib": 9615.2, "seconds": 16.5}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/decoupled-grid-regression", "group": "stage", "method": "GSNet", "sets": ["head=decoupled-grid-regression"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-regression", "verdict": "runs", "judge": 2, "config_hash": "15f708e8ee3c1b80", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=decoupled-grid-regression -o stage__GSNet__head__decoupled-grid-regression.yaml", "probe": "grasppanda probe stage__GSNet__head__decoupled-grid-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15321104, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 970], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5825], "loss/graspness": [5.176, 0.3908], "loss/view": [6.291, 0.4784], "loss/score": [0.3235, 0.05446], "loss/angle": [2.507, 2.367], "loss/depth": [1.356, 0.3775], "loss/width": [2.633, 0.1557], "loss": [19.08, 4.407]}, "trend": {"loss/objectness": [0.7893, 0.597, 0.244], "loss/graspness": [5.176, 0.3535, 0.932], "loss/view": [6.291, 0.4343, 0.931], "loss/score": [0.3235, 0.05521, 0.829], "loss/angle": [2.507, 2.388, 0.047], "loss/depth": [1.356, 0.4365, 0.678], "loss/width": [2.633, 0.2193, 0.917], "loss": [19.08, 4.484, 0.765]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.693, "mean": 0.96, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-0.05057, 0.0172, 0.08172], [-0.09561, 0.0309, 0.08313]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.191, "peak_gpu_mib": 1840.7, "seconds": 35.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/decoupled-grid-regression", "group": "stage", "method": "EconomicGrasp", "sets": ["head=decoupled-grid-regression"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-regression", "verdict": "runs", "judge": 2, "config_hash": "0f0aa44bf7ec817c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid-regression -o stage__EconomicGrasp__head__decoupled-grid-regression.yaml", "probe": "grasppanda probe stage__EconomicGrasp__head__decoupled-grid-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15723846, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7828, 0.553], "loss/graspness": [5.31, 0.2432], "loss/view": [6.004, 0.5428], "loss/score": [0.1403, 0.04722], "loss/angle": [2.49, 2.309], "loss/depth": [1.374, 0.4367], "loss/width": [2.92, 0.1614], "loss": [19.02, 4.294]}, "trend": {"loss/objectness": [0.7828, 0.5317, 0.321], "loss/graspness": [5.31, 0.2483, 0.953], "loss/view": [6.004, 0.4157, 0.931], "loss/score": [0.1403, 0.04565, 0.675], "loss/angle": [2.49, 2.373, 0.047], "loss/depth": [1.374, 0.4488, 0.673], "loss/width": [2.92, 0.1967, 0.933], "loss": [19.02, 4.26, 0.776]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 5], "score_quantiles": [[-0.1169, -0.01114, 0.07754], [-0.1132, -0.004519, 0.06525]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.231, "peak_gpu_mib": 2637.2, "seconds": 32.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/decoupled-grid-regression", "group": "stage", "method": "FineGrasp", "sets": ["head=decoupled-grid-regression"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-regression", "verdict": "runs", "judge": 2, "config_hash": "6084db1933039dbc", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid-regression -o stage__FineGrasp__head__decoupled-grid-regression.yaml", "probe": "grasppanda probe stage__FineGrasp__head__decoupled-grid-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19119049, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8057, 0.5739], "loss/graspness": [2.413, 0.2671], "loss/view": [5.143, 0.3043], "loss/score": [0.08538, 0.02031], "loss/angle": [2.491, 2.372], "loss/depth": [1.409, 0.4075], "loss/width": [1.666, 0.1744], "loss": [14.01, 4.119]}, "trend": {"loss/objectness": [0.8057, 0.5924, 0.265], "loss/graspness": [2.413, 0.2807, 0.884], "loss/view": [5.143, 0.3504, 0.932], "loss/score": [0.08538, 0.02306, 0.73], "loss/angle": [2.491, 2.371, 0.048], "loss/depth": [1.409, 0.4221, 0.7], "loss/width": [1.666, 0.191, 0.885], "loss": [14.01, 4.231, 0.698]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.056, "mean": 0.929, "zero_iterations": 0}, "supervised_seeds": {"min": 0.375, "mean": 0.969, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [[0.01654, 0.01664, 0.01677], [0.01654, 0.01665, 0.01678]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.683, "peak_gpu_mib": 12920.3, "seconds": 74.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/decoupled-grid-regression", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=decoupled-grid-regression"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-regression", "verdict": "runs", "judge": 2, "config_hash": "3f73c416beb0b5f5", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=decoupled-grid-regression -o stage__GraspNet-baseline__head__decoupled-grid-regression.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__head__decoupled-grid-regression.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 977725, "iterations": 20, "batch_size": 2, "grasps_per_frame": [492, 842], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5434], "loss/view": [0.2001, 0.07355], "loss/score": [0.4714, 0.05151], "loss/angle": [2.523, 2.466], "loss/depth": [1.309, 0.3409], "loss/width": [2.089, 0.1875], "loss": [7.354, 3.663]}, "trend": {"loss/objectness": [0.7623, 0.5724, 0.249], "loss/view": [0.2001, 0.07618, 0.619], "loss/score": [0.4714, 0.05613, 0.881], "loss/angle": [2.523, 2.327, 0.078], "loss/depth": [1.309, 0.4613, 0.648], "loss/width": [2.089, 0.1724, 0.917], "loss": [7.354, 3.665, 0.502]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 4], "score_quantiles": [[-0.2107, -0.1075, 0.09645], [-0.2331, -0.101, 0.1073]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.277, "peak_gpu_mib": 3971.3, "seconds": 13.1}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/decoupled-grid-regression", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=decoupled-grid-regression"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid-regression", "verdict": "runs", "judge": 2, "config_hash": "23f40e02956f0a59", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=decoupled-grid-regression -o stage__Scale-Balanced-Grasp__head__decoupled-grid-regression.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__head__decoupled-grid-regression.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1528957, "iterations": 20, "batch_size": 2, "grasps_per_frame": [9, 110], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3087], "loss/view": [0.2608, 0.1153], "loss/score": [0.1983, 0.09672], "loss/angle": [2.542, 2.391], "loss/depth": [1.455, 0.3065], "loss/width": [2.49, 0.19], "loss": [7.706, 3.408]}, "trend": {"loss/objectness": [0.7596, 0.2992, 0.606], "loss/view": [0.2608, 0.1296, 0.503], "loss/score": [0.1983, 0.07946, 0.599], "loss/angle": [2.542, 2.285, 0.101], "loss/depth": [1.455, 0.4116, 0.717], "loss/width": [2.49, 0.1801, 0.928], "loss": [7.706, 3.386, 0.561]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-0.0905, 0.1465, 0.1707], [-0.1778, 0.151, 0.1954]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.515, "peak_gpu_mib": 9615.0, "seconds": 17.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/decoupled-grid", "group": "stage", "method": "GSNet", "sets": ["head=decoupled-grid"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid", "verdict": "runs", "judge": 2, "config_hash": "d47f23fe347390bb", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=decoupled-grid -o stage__GSNet__head__decoupled-grid.yaml", "probe": "grasppanda probe stage__GSNet__head__decoupled-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15321491, "iterations": 20, "batch_size": 4, "grasps_per_frame": [398, 342], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5797], "loss/graspness": [5.176, 0.3218], "loss/view": [6.291, 0.4375], "loss/score": [0.3235, 0.0296], "loss/angle": [2.507, 2.408], "loss/depth": [1.447, 1.227], "loss/width": [1.017, 0.1738], "loss": [17.55, 5.178]}, "trend": {"loss/objectness": [0.7893, 0.6093, 0.228], "loss/graspness": [5.176, 0.3264, 0.937], "loss/view": [6.291, 0.3692, 0.941], "loss/score": [0.3235, 0.03769, 0.883], "loss/angle": [2.507, 2.412, 0.038], "loss/depth": [1.447, 1.278, 0.117], "loss/width": [1.017, 0.179, 0.824], "loss": [17.55, 5.212, 0.703]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.916, "mean": 0.995, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-0.08663, -0.02062, 0.02462], [-0.1322, -0.02937, 0.2684]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.324, "peak_gpu_mib": 1840.8, "seconds": 30.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/decoupled-grid", "group": "stage", "method": "EconomicGrasp", "sets": ["head=decoupled-grid"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid", "verdict": "runs", "judge": 2, "config_hash": "48c45997e9a290e3", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid -o stage__EconomicGrasp__head__decoupled-grid.yaml", "probe": "grasppanda probe stage__EconomicGrasp__head__decoupled-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15724233, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7828, 0.5307], "loss/graspness": [5.31, 0.2324], "loss/view": [6.004, 0.4601], "loss/score": [0.1403, 0.0325], "loss/angle": [2.49, 2.38], "loss/depth": [1.42, 1.283], "loss/width": [2.448, 0.2164], "loss": [18.6, 5.136]}, "trend": {"loss/objectness": [0.7828, 0.5128, 0.345], "loss/graspness": [5.31, 0.2386, 0.955], "loss/view": [6.004, 0.4071, 0.932], "loss/score": [0.1403, 0.03612, 0.742], "loss/angle": [2.49, 2.405, 0.034], "loss/depth": [1.42, 1.244, 0.123], "loss/width": [2.448, 0.2025, 0.917], "loss": [18.6, 5.046, 0.729]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 5], "score_quantiles": [[-0.1752, -0.095, 0.009562], [-0.197, -0.09064, 0.004035]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.443, "peak_gpu_mib": 2637.2, "seconds": 39.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/decoupled-grid", "group": "stage", "method": "FineGrasp", "sets": ["head=decoupled-grid"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid", "verdict": "runs", "judge": 2, "config_hash": "73ffed831e746a18", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=decoupled-grid -o stage__FineGrasp__head__decoupled-grid.yaml", "probe": "grasppanda probe stage__FineGrasp__head__decoupled-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19119436, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8057, 0.5976], "loss/graspness": [2.413, 0.2486], "loss/view": [5.143, 0.3135], "loss/score": [0.08538, 0.01371], "loss/angle": [2.491, 2.351], "loss/depth": [1.414, 1.259], "loss/width": [2.234, 0.1697], "loss": [14.59, 4.953]}, "trend": {"loss/objectness": [0.8057, 0.6153, 0.236], "loss/graspness": [2.413, 0.2635, 0.891], "loss/view": [5.143, 0.3352, 0.935], "loss/score": [0.08538, 0.01719, 0.799], "loss/angle": [2.491, 2.349, 0.057], "loss/depth": [1.414, 1.243, 0.121], "loss/width": [2.234, 0.1866, 0.916], "loss": [14.59, 5.01, 0.656]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/width": 19}, "real_seeds": {"min": 0.035, "mean": 0.904, "zero_iterations": 0}, "supervised_seeds": {"min": 0.375, "mean": 0.969, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [[0.04979, 0.04985, 0.04991], [0.04978, 0.04985, 0.04991]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.706, "peak_gpu_mib": 12920.3, "seconds": 75.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/decoupled-grid", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=decoupled-grid"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid", "verdict": "runs", "judge": 2, "config_hash": "07e039358f2ead46", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=decoupled-grid -o stage__GraspNet-baseline__head__decoupled-grid.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__head__decoupled-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 978112, "iterations": 20, "batch_size": 2, "grasps_per_frame": [572, 341], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5344], "loss/view": [0.2001, 0.07523], "loss/score": [0.4714, 0.04579], "loss/angle": [2.523, 2.397], "loss/depth": [1.392, 1.125], "loss/width": [2.647, 0.2161], "loss": [7.995, 4.394]}, "trend": {"loss/objectness": [0.7623, 0.6046, 0.207], "loss/view": [0.2001, 0.08094, 0.596], "loss/score": [0.4714, 0.04604, 0.902], "loss/angle": [2.523, 2.345, 0.07], "loss/depth": [1.392, 1.236, 0.112], "loss/width": [2.647, 0.2073, 0.922], "loss": [7.995, 4.52, 0.435]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [18, 4], "score_quantiles": [[-0.006645, 0.07721, 0.176], [0.0001193, 0.06575, 0.1486]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.308, "peak_gpu_mib": 3971.3, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/decoupled-grid", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=decoupled-grid"], "slot": "head", "component": "DecoupledGridHead", "variant": "decoupled-grid", "verdict": "runs", "judge": 2, "config_hash": "59cc1bfe404bb962", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=decoupled-grid -o stage__Scale-Balanced-Grasp__head__decoupled-grid.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__head__decoupled-grid.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1529344, "iterations": 20, "batch_size": 2, "grasps_per_frame": [14, 8], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3112], "loss/view": [0.2608, 0.1132], "loss/score": [0.1983, 0.04656], "loss/angle": [2.542, 2.379], "loss/depth": [1.399, 1.163], "loss/width": [1.603, 0.176], "loss": [6.763, 4.188]}, "trend": {"loss/objectness": [0.7596, 0.3012, 0.603], "loss/view": [0.2608, 0.1304, 0.5], "loss/score": [0.1983, 0.06034, 0.696], "loss/angle": [2.542, 2.29, 0.099], "loss/depth": [1.399, 1.276, 0.088], "loss/width": [1.603, 0.1602, 0.9], "loss": [6.763, 4.218, 0.376]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-0.1019, -0.05946, -0.03973], [-0.05298, -0.04485, -0.0408]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.445, "peak_gpu_mib": 9615.0, "seconds": 17.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/economic-focal", "group": "stage", "method": "GSNet", "sets": ["head=economic-focal"], "slot": "head", "component": "EconomicHead", "variant": "economic-focal", "verdict": "runs", "judge": 2, "config_hash": "bec935dad5539f21", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=economic-focal -o stage__GSNet__head__economic-focal.yaml", "probe": "grasppanda probe stage__GSNet__head__economic-focal.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15347496, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7702, 0.5559], "loss/graspness": [5.373, 0.3463], "loss/view": [6.463, 0.7517], "loss/angle": [2.418, 0.5506], "loss/depth": [0.5755, 0.2393], "loss/score": [0.7495, 0.3996], "loss/width": [1.446, 0.6882], "loss": [17.79, 3.532]}, "trend": {"loss/objectness": [0.7702, 0.5769, 0.251], "loss/graspness": [5.373, 0.4593, 0.915], "loss/view": [6.463, 0.7439, 0.885], "loss/angle": [2.418, 0.5331, 0.78], "loss/depth": [0.5755, 0.2154, 0.626], "loss/score": [0.7495, 0.3791, 0.494], "loss/width": [1.446, 0.8541, 0.409], "loss": [17.79, 3.762, 0.789]}, "real_seeds": {"min": 0.97, "mean": 0.998, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.148, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-1.783, -1.504, -1.095], [-1.914, -1.457, -1.093]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.2, "peak_gpu_mib": 1265.2, "seconds": 35.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/economic-focal", "group": "stage", "method": "EconomicGrasp", "sets": ["head=economic-focal"], "slot": "head", "component": "EconomicHead", "variant": "economic-focal", "verdict": "runs", "judge": 2, "config_hash": "92fdbe01d270a99b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=economic-focal -o stage__EconomicGrasp__head__economic-focal.yaml", "probe": "grasppanda probe stage__EconomicGrasp__head__economic-focal.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.628], "loss/graspness": [5.216, 0.2839], "loss/view": [6.545, 0.6894], "loss/angle": [3.061, 0.5181], "loss/depth": [1.793, 0.2249], "loss/score": [1.646, 0.3678], "loss/width": [8.756, 0.745], "loss": [27.8, 3.457]}, "trend": {"loss/objectness": [0.7845, 0.6182, 0.212], "loss/graspness": [5.216, 0.3338, 0.936], "loss/view": [6.545, 0.7137, 0.891], "loss/angle": [3.061, 0.5099, 0.833], "loss/depth": [1.793, 0.2393, 0.867], "loss/score": [1.646, 0.3665, 0.777], "loss/width": [8.756, 0.6999, 0.92], "loss": [27.8, 3.481, 0.875]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.083, -1.829, -1.463], [-2.241, -1.863, -1.569]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.211, "peak_gpu_mib": 2066.2, "seconds": 31.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/economic-focal", "group": "stage", "method": "FineGrasp", "sets": ["head=economic-focal"], "slot": "head", "component": "EconomicHead", "variant": "economic-focal", "verdict": "runs", "judge": 2, "config_hash": "f0b172c9641b8b8b", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=economic-focal -o stage__FineGrasp__head__economic-focal.yaml", "probe": "grasppanda probe stage__FineGrasp__head__economic-focal.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6173], "loss/graspness": [2.473, 0.2613], "loss/view": [5.497, 0.6298], "loss/angle": [0.8542, 0.7964], "loss/depth": [1.547, 0.3018], "loss/score": [2.184, 0.5612], "loss/width": [4.953, 0.7544], "loss": [18.31, 3.922]}, "trend": {"loss/objectness": [0.8058, 0.6271, 0.222], "loss/graspness": [2.473, 0.2694, 0.891], "loss/view": [5.497, 0.612, 0.889], "loss/angle": [0.8542, 0.7098, 0.169], "loss/depth": [1.547, 0.2639, 0.829], "loss/score": [2.184, 0.5465, 0.75], "loss/width": [4.953, 0.7816, 0.842], "loss": [18.31, 3.81, 0.792]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.856, "mean": 0.987, "zero_iterations": 0}, "supervised_seeds": {"min": 0.027, "mean": 0.116, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.3605, -0.3605, -0.3604], [-0.3606, -0.3605, -0.3604]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.736, "peak_gpu_mib": 11643.5, "seconds": 83.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/economic-focal", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=economic-focal"], "slot": "head", "component": "EconomicHead", "variant": "economic-focal", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=economic-focal -o stage__GraspNet-baseline__head__economic-focal.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/economic-focal", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=economic-focal"], "slot": "head", "component": "EconomicHead", "variant": "economic-focal", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=economic-focal -o stage__Scale-Balanced-Grasp__head__economic-focal.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/economic", "group": "stage", "method": "GSNet", "sets": ["head=economic"], "slot": "head", "component": "EconomicHead", "variant": "economic", "verdict": "runs", "judge": 2, "config_hash": "04c47786d03db3ac", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=economic -o stage__GSNet__head__economic.yaml", "probe": "grasppanda probe stage__GSNet__head__economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15347496, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7702, 0.5428], "loss/graspness": [5.373, 0.3412], "loss/view": [6.463, 0.7435], "loss/angle": [2.758, 0.7774], "loss/depth": [1.176, 0.398], "loss/score": [1.347, 0.6742], "loss/width": [1.446, 0.7214], "loss": [19.33, 4.199]}, "trend": {"loss/objectness": [0.7702, 0.5626, 0.27], "loss/graspness": [5.373, 0.4645, 0.914], "loss/view": [6.463, 0.7353, 0.886], "loss/angle": [2.758, 0.7372, 0.733], "loss/depth": [1.176, 0.4148, 0.647], "loss/score": [1.347, 0.6206, 0.539], "loss/width": [1.446, 0.7811, 0.46], "loss": [19.33, 4.316, 0.777]}, "real_seeds": {"min": 0.954, "mean": 0.997, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.149, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.77, -2.459, -2.163], [-2.663, -2.425, -2.016]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.148, "peak_gpu_mib": 1265.2, "seconds": 42.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/economic", "group": "stage", "method": "EconomicGrasp", "sets": ["head=economic"], "slot": "head", "component": "EconomicHead", "variant": "economic", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=economic -o stage__EconomicGrasp__head__economic.yaml", "probed_as": "stage/EconomicGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/economic", "group": "stage", "method": "FineGrasp", "sets": ["head=economic"], "slot": "head", "component": "EconomicHead", "variant": "economic", "verdict": "runs", "judge": 2, "config_hash": "254815dc944eef7c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=economic -o stage__FineGrasp__head__economic.yaml", "probed_as": "stage/FineGrasp/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/economic", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=economic"], "slot": "head", "component": "EconomicHead", "variant": "economic", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=economic -o stage__GraspNet-baseline__head__economic.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/economic", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=economic"], "slot": "head", "component": "EconomicHead", "variant": "economic", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=economic -o stage__Scale-Balanced-Grasp__head__economic.yaml", "refusal": ["ObjectnessViewStage computes its targets from 'dense' matched labels, but CompactLabelAssigner returns 'compact' ones. View stages that read 'compact' labels: DirectionViewStage, HealpixViewStage, IcosphereViewStage, LatticeViewStage, RomaRotationViewStage, TemplateViewStage, TwoVectorViewStage."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/operation-objectness", "group": "stage", "method": "GSNet", "sets": ["head=operation-objectness"], "slot": "head", "component": "OperationHead", "variant": "operation-objectness", "verdict": "runs", "judge": 2, "config_hash": "13c1a3b52cb28e5a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=operation-objectness -o stage__GSNet__head__operation-objectness.yaml", "fitted": ["data.train.dataset.tolerance"], "probe": "grasppanda probe stage__GSNet__head__operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15436159, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6501], "loss/graspness": [5.176, 0.4309], "loss/view": [6.291, 0.3637], "loss/score": [0.03967, 0.01945], "loss/angle": [0.5142, 0.4497], "loss/width": [0.6055, 0.1551], "loss/tolerance": [1.313, 0.411], "loss": [14.73, 2.48]}, "trend": {"loss/objectness": [0.7893, 0.6487, 0.178], "loss/graspness": [5.176, 0.5835, 0.887], "loss/view": [6.291, 0.5158, 0.918], "loss/score": [0.03967, 0.02224, 0.439], "loss/angle": [0.5142, 0.4646, 0.096], "loss/width": [0.6055, 0.2378, 0.607], "loss/tolerance": [1.313, 0.5068, 0.614], "loss": [14.73, 2.979, 0.798]}, "real_seeds": {"min": 0.638, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.6694, 0.6828, 3.913], [-1.425, 1.176, 40.84]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.247, "peak_gpu_mib": 1937.6, "seconds": 30.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/operation-objectness", "group": "stage", "method": "EconomicGrasp", "sets": ["head=operation-objectness"], "slot": "head", "component": "OperationHead", "variant": "operation-objectness", "verdict": "runs", "judge": 2, "config_hash": "6b791e13c5ac8e63", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=operation-objectness -o stage__EconomicGrasp__head__operation-objectness.yaml", "fitted": ["data.train.dataset.tolerance"], "probe": "grasppanda probe stage__EconomicGrasp__head__operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15838901, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7846, 0.6414], "loss/graspness": [5.208, 0.469], "loss/view": [7.129, 0.4928], "loss/score": [0.03614, 0.01739], "loss/angle": [0.5284, 0.4566], "loss/width": [0.6344, 0.2965], "loss/tolerance": [1.138, 0.501], "loss": [15.46, 2.875]}, "trend": {"loss/objectness": [0.7846, 0.647, 0.175], "loss/graspness": [5.208, 0.4778, 0.908], "loss/view": [7.129, 0.5586, 0.922], "loss/score": [0.03614, 0.01954, 0.459], "loss/angle": [0.5284, 0.4674, 0.115], "loss/width": [0.6344, 0.2987, 0.529], "loss/tolerance": [1.138, 0.6203, 0.455], "loss": [15.46, 3.089, 0.8]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.47, "mean": 0.545, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.237, -0.08053, 1.192], [-1.367, -0.01507, 1.317]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.522, "peak_gpu_mib": 2959.8, "seconds": 40.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/operation-objectness", "group": "stage", "method": "FineGrasp", "sets": ["head=operation-objectness"], "slot": "head", "component": "OperationHead", "variant": "operation-objectness", "verdict": "runs", "judge": 2, "config_hash": "c3bbb556c7e640ab", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=operation-objectness -o stage__FineGrasp__head__operation-objectness.yaml", "fitted": ["data.train.dataset.tolerance"], "probe": "grasppanda probe stage__FineGrasp__head__operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19234104, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8023, 0.6235], "loss/graspness": [2.46, 0.2613], "loss/view": [5.958, 0.444], "loss/score": [0.04274, 0.01514], "loss/angle": [0.5151, 0.4594], "loss/width": [0.4829, 0.01462], "loss/tolerance": [1.005, 0.02399], "loss": [11.27, 1.842]}, "trend": {"loss/objectness": [0.8023, 0.6289, 0.216], "loss/graspness": [2.46, 0.2724, 0.889], "loss/view": [5.958, 0.4492, 0.925], "loss/score": [0.04274, 0.01495, 0.65], "loss/angle": [0.5151, 0.4619, 0.103], "loss/width": [0.4829, 0.02819, 0.942], "loss/tolerance": [1.005, 0.05171, 0.949], "loss": [11.27, 1.907, 0.831]}, "real_seeds": {"min": 0.338, "mean": 0.967, "zero_iterations": 0}, "supervised_seeds": {"min": 0.504, "mean": 0.537, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.6346, 0.197, 0.5842], [-1.502, 0.1821, 0.6177]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.832, "peak_gpu_mib": 13558.4, "seconds": 83.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/operation-objectness", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=operation-objectness"], "slot": "head", "component": "OperationHead", "variant": "operation-objectness", "verdict": "runs", "judge": 2, "config_hash": "ea56047c6b0f66e9", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=operation-objectness -o stage__GraspNet-baseline__head__operation-objectness.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__head__operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [732, 173], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5897], "loss/view": [0.2001, 0.0771], "loss/score": [0.03654, 0.01967], "loss/angle": [0.53, 0.4671], "loss/width": [0.6388, 0.1743], "loss/tolerance": [1.188, 0.4432], "loss": [3.356, 1.771]}, "trend": {"loss/objectness": [0.7623, 0.6076, 0.203], "loss/view": [0.2001, 0.08005, 0.6], "loss/score": [0.03654, 0.02072, 0.433], "loss/angle": [0.53, 0.4697, 0.114], "loss/width": [0.6388, 0.1536, 0.76], "loss/tolerance": [1.188, 0.4838, 0.593], "loss": [3.356, 1.815, 0.459]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-17.82, 0.1551, 25.05], [-6.916, -0.2452, 6.452]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.339, "peak_gpu_mib": 3972.1, "seconds": 13.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/operation-objectness", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=operation-objectness"], "slot": "head", "component": "OperationHead", "variant": "operation-objectness", "verdict": "runs-empty", "judge": 2, "config_hash": "61901898cd133251", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=operation-objectness -o stage__Scale-Balanced-Grasp__head__operation-objectness.yaml", "probed_as": "reference/Scale-Balanced-Grasp", "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/operation", "group": "stage", "method": "GSNet", "sets": ["head=operation"], "slot": "head", "component": "OperationHead", "variant": "operation", "verdict": "runs", "judge": 2, "config_hash": "9d06071fd2751911", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=operation -o stage__GSNet__head__operation.yaml", "fitted": ["data.train.dataset.tolerance"], "probe": "grasppanda probe stage__GSNet__head__operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15436159, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6699], "loss/graspness": [5.176, 0.3582], "loss/view": [6.291, 0.36], "loss/score": [0.05908, 0.03193], "loss/angle": [0.5142, 0.4722], "loss/width": [0.6055, 0.1052], "loss/tolerance": [1.313, 0.3402], "loss": [14.75, 2.338]}, "trend": {"loss/objectness": [0.7893, 0.671, 0.15], "loss/graspness": [5.176, 0.5901, 0.886], "loss/view": [6.291, 0.4805, 0.924], "loss/score": [0.05908, 0.03172, 0.463], "loss/angle": [0.5142, 0.4812, 0.064], "loss/width": [0.6055, 0.2298, 0.62], "loss/tolerance": [1.313, 0.5202, 0.604], "loss": [14.75, 3.004, 0.796]}, "real_seeds": {"min": 0.517, "mean": 0.963, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.534, 0.1539, 2.04], [-29.05, -0.1897, 1.949]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.195, "peak_gpu_mib": 1937.6, "seconds": 28.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/operation", "group": "stage", "method": "EconomicGrasp", "sets": ["head=operation"], "slot": "head", "component": "OperationHead", "variant": "operation", "verdict": "runs", "judge": 2, "config_hash": "20ed7e7c82710235", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=operation -o stage__EconomicGrasp__head__operation.yaml", "fitted": ["data.train.dataset.tolerance"], "probe": "grasppanda probe stage__EconomicGrasp__head__operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15838901, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7846, 0.6386], "loss/graspness": [5.208, 0.4109], "loss/view": [7.129, 0.4738], "loss/score": [0.06147, 0.03809], "loss/angle": [0.5284, 0.4848], "loss/width": [0.6344, 0.3649], "loss/tolerance": [1.138, 0.6872], "loss": [15.48, 3.098]}, "trend": {"loss/objectness": [0.7846, 0.6307, 0.196], "loss/graspness": [5.208, 0.4527, 0.913], "loss/view": [7.129, 0.5519, 0.923], "loss/score": [0.06147, 0.0318, 0.483], "loss/angle": [0.5284, 0.4778, 0.096], "loss/width": [0.6344, 0.3334, 0.475], "loss/tolerance": [1.138, 0.631, 0.446], "loss": [15.48, 3.109, 0.799]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.48, "mean": 0.551, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-5.699, -1.019, 2.086], [-6.7, -0.7995, 1.517]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.555, "peak_gpu_mib": 2959.8, "seconds": 43.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/operation", "group": "stage", "method": "FineGrasp", "sets": ["head=operation"], "slot": "head", "component": "OperationHead", "variant": "operation", "verdict": "runs", "judge": 2, "config_hash": "2e3809e88c130f21", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=operation -o stage__FineGrasp__head__operation.yaml", "fitted": ["data.train.dataset.tolerance"], "probe": "grasppanda probe stage__FineGrasp__head__operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19234104, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8023, 0.6193], "loss/graspness": [2.46, 0.262], "loss/view": [5.958, 0.4824], "loss/score": [0.07386, 0.02079], "loss/angle": [0.5151, 0.451], "loss/width": [0.4829, 0.01716], "loss/tolerance": [1.005, 0.03041], "loss": [11.3, 1.883]}, "trend": {"loss/objectness": [0.8023, 0.6241, 0.222], "loss/graspness": [2.46, 0.2647, 0.892], "loss/view": [5.958, 0.4404, 0.926], "loss/score": [0.07386, 0.02677, 0.638], "loss/angle": [0.5151, 0.4541, 0.118], "loss/width": [0.4829, 0.02404, 0.95], "loss/tolerance": [1.005, 0.04813, 0.952], "loss": [11.3, 1.882, 0.833]}, "real_seeds": {"min": 0.343, "mean": 0.967, "zero_iterations": 0}, "supervised_seeds": {"min": 0.504, "mean": 0.536, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-8.908, 1.136, 5.26], [-9.812, 0.9098, 5.376]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.031, "peak_gpu_mib": 13558.4, "seconds": 90.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/operation", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=operation"], "slot": "head", "component": "OperationHead", "variant": "operation", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=operation -o stage__GraspNet-baseline__head__operation.yaml", "probed_as": "reference/GraspNet-baseline", "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/operation", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=operation"], "slot": "head", "component": "OperationHead", "variant": "operation", "verdict": "runs", "judge": 2, "config_hash": "74471e8dd697bbab", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=operation -o stage__Scale-Balanced-Grasp__head__operation.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__head__operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3281], "loss/view": [0.2608, 0.1107], "loss/score": [0.08841, 0.04071], "loss/angle": [0.4856, 0.4245], "loss/width": [0.5501, 0.1479], "loss/tolerance": [0.9566, 0.2591], "loss": [3.101, 1.311]}, "trend": {"loss/objectness": [0.7596, 0.3087, 0.594], "loss/view": [0.2608, 0.1242, 0.524], "loss/score": [0.08841, 0.03434, 0.612], "loss/angle": [0.4856, 0.4199, 0.135], "loss/width": [0.5501, 0.1758, 0.68], "loss/tolerance": [0.9566, 0.313, 0.673], "loss": [3.101, 1.376, 0.556]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[0.8215, 0.8215, 0.8215], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.491, "peak_gpu_mib": 9615.8, "seconds": 17.9}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/swad-focal", "group": "stage", "method": "GSNet", "sets": ["head=swad-focal"], "slot": "head", "component": "SWADHead", "variant": "swad-focal", "verdict": "runs", "judge": 2, "config_hash": "ea6e340bc684d624", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=swad-focal -o stage__GSNet__head__swad-focal.yaml", "probe": "grasppanda probe stage__GSNet__head__swad-focal.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [349, 396], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.588], "loss/graspness": [5.176, 0.4588], "loss/view": [6.291, 0.2737], "loss/score": [3.306, 0.06353], "loss/width": [3.654, 0.5027], "loss": [19.22, 1.887]}, "trend": {"loss/objectness": [0.7893, 0.5994, 0.241], "loss/graspness": [5.176, 0.3867, 0.925], "loss/view": [6.291, 0.3744, 0.94], "loss/score": [3.306, 0.0317, 0.99], "loss/width": [3.654, 0.3796, 0.896], "loss": [19.22, 1.772, 0.908]}, "real_seeds": {"min": 0.261, "mean": 0.897, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.191, 0.2472, 0.4489], [0.1145, 0.2343, 0.4292]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.219, "peak_gpu_mib": 1841.5, "seconds": 32.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/swad-focal", "group": "stage", "method": "EconomicGrasp", "sets": ["head=swad-focal"], "slot": "head", "component": "SWADHead", "variant": "swad-focal", "verdict": "runs", "judge": 2, "config_hash": "a7a02a2e1579200b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=swad-focal -o stage__EconomicGrasp__head__swad-focal.yaml", "probe": "grasppanda probe stage__EconomicGrasp__head__swad-focal.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15756517, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7828, 0.5263], "loss/graspness": [5.31, 0.2542], "loss/view": [6.004, 0.4861], "loss/score": [3.246, 0.01429], "loss/width": [2.552, 0.2521], "loss": [17.9, 1.533]}, "trend": {"loss/objectness": [0.7828, 0.5214, 0.334], "loss/graspness": [5.31, 0.2686, 0.949], "loss/view": [6.004, 0.4323, 0.928], "loss/score": [3.246, 0.01305, 0.996], "loss/width": [2.552, 0.321, 0.874], "loss": [17.9, 1.556, 0.913]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.1125, 0.1459, 0.3252], [0.1139, 0.1456, 0.3637]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.453, "peak_gpu_mib": 2640.8, "seconds": 44.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/swad-focal", "group": "stage", "method": "FineGrasp", "sets": ["head=swad-focal"], "slot": "head", "component": "SWADHead", "variant": "swad-focal", "verdict": "runs", "judge": 2, "config_hash": "17346b370ebce0d1", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=swad-focal -o stage__FineGrasp__head__swad-focal.yaml", "probe": "grasppanda probe stage__FineGrasp__head__swad-focal.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19151720, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8057, 0.5797], "loss/graspness": [2.413, 0.2847], "loss/view": [5.143, 0.287], "loss/score": [2.681, 0.01008], "loss/width": [2.356, 0.1773], "loss": [13.4, 1.339]}, "trend": {"loss/objectness": [0.8057, 0.5995, 0.256], "loss/graspness": [2.413, 0.2815, 0.883], "loss/view": [5.143, 0.334, 0.935], "loss/score": [2.681, 0.01062, 0.996], "loss/width": [2.356, 0.1965, 0.917], "loss": [13.4, 1.422, 0.894]}, "real_seeds": {"min": 0.053, "mean": 0.952, "zero_iterations": 0}, "supervised_seeds": {"min": 0.375, "mean": 0.969, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.03025, 0.03026, 0.03027], [0.03025, 0.03026, 0.03027]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.896, "peak_gpu_mib": 12921.5, "seconds": 93.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/swad-focal", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=swad-focal"], "slot": "head", "component": "SWADHead", "variant": "swad-focal", "verdict": "runs", "judge": 2, "config_hash": "3089a2123a66504b", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=swad-focal -o stage__GraspNet-baseline__head__swad-focal.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__head__swad-focal.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1010396, "iterations": 20, "batch_size": 2, "grasps_per_frame": [355, 650], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5534], "loss/view": [0.2001, 0.07723], "loss/score": [4.124, 0.01461], "loss/width": [4.007, 0.2733], "loss": [9.094, 0.9185]}, "trend": {"loss/objectness": [0.7623, 0.5731, 0.248], "loss/view": [0.2001, 0.08015, 0.599], "loss/score": [4.124, 0.01929, 0.995], "loss/width": [4.007, 0.2964, 0.926], "loss": [9.094, 0.9689, 0.893]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[0.05618, 0.1048, 0.2071], [0.06117, 0.101, 0.2617]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.327, "peak_gpu_mib": 3971.8, "seconds": 14.0}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/swad-focal", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=swad-focal"], "slot": "head", "component": "SWADHead", "variant": "swad-focal", "verdict": "runs", "judge": 2, "config_hash": "4c405c298ace283d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=swad-focal -o stage__Scale-Balanced-Grasp__head__swad-focal.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__head__swad-focal.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1561628, "iterations": 20, "batch_size": 2, "grasps_per_frame": [5, 10], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.316], "loss/view": [0.2608, 0.1168], "loss/score": [2.962, 0.0237], "loss/width": [2.352, 0.3563], "loss": [6.335, 0.8127]}, "trend": {"loss/objectness": [0.7596, 0.2982, 0.607], "loss/view": [0.2608, 0.1285, 0.507], "loss/score": [2.962, 0.0166, 0.994], "loss/width": [2.352, 0.2998, 0.873], "loss": [6.335, 0.7432, 0.883]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.1128, 0.1259, 0.1489], [0.104, 0.1165, 0.1279]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.511, "peak_gpu_mib": 9615.5, "seconds": 18.4}, "run": "2026-10-15@96facee"},
  {"id": "stage/GSNet/head/swad", "group": "stage", "method": "GSNet", "sets": ["head=swad"], "slot": "head", "component": "SWADHead", "variant": "swad", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head=swad -o stage__GSNet__head__swad.yaml", "probed_as": "stage/GSNet/proposal/graspness-fps", "run": "2026-10-15@98e5310"},
  {"id": "stage/EconomicGrasp/head/swad", "group": "stage", "method": "EconomicGrasp", "sets": ["head=swad"], "slot": "head", "component": "SWADHead", "variant": "swad", "verdict": "runs", "judge": 2, "config_hash": "bd46bdc9ac4834a8", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head=swad -o stage__EconomicGrasp__head__swad.yaml", "probe": "grasppanda probe stage__EconomicGrasp__head__swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15756517, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7828, 0.5196], "loss/graspness": [5.31, 0.2584], "loss/view": [6.004, 0.4521], "loss/score": [0.9742, 0.06745], "loss/width": [2.552, 0.1997], "loss": [15.62, 1.497]}, "trend": {"loss/objectness": [0.7828, 0.509, 0.35], "loss/graspness": [5.31, 0.2675, 0.95], "loss/view": [6.004, 0.4198, 0.93], "loss/score": [0.9742, 0.0718, 0.926], "loss/width": [2.552, 0.1989, 0.922], "loss": [15.62, 1.467, 0.906]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.1188, 0.2124, 0.3393], [0.1316, 0.202, 0.3396]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.612, "peak_gpu_mib": 2640.8, "seconds": 36.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/FineGrasp/head/swad", "group": "stage", "method": "FineGrasp", "sets": ["head=swad"], "slot": "head", "component": "SWADHead", "variant": "swad", "verdict": "runs", "judge": 2, "config_hash": "4d027ef766cc7e7c", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head=swad -o stage__FineGrasp__head__swad.yaml", "probe": "grasppanda probe stage__FineGrasp__head__swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19151720, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8057, 0.5759], "loss/graspness": [2.413, 0.2844], "loss/view": [5.143, 0.2864], "loss/score": [0.3123, 0.01806], "loss/width": [2.356, 0.1463], "loss": [11.03, 1.311]}, "trend": {"loss/objectness": [0.8057, 0.596, 0.26], "loss/graspness": [2.413, 0.2809, 0.884], "loss/view": [5.143, 0.3363, 0.935], "loss/score": [0.3123, 0.01928, 0.938], "loss/width": [2.356, 0.1622, 0.931], "loss": [11.03, 1.395, 0.874]}, "real_seeds": {"min": 0.055, "mean": 0.951, "zero_iterations": 0}, "supervised_seeds": {"min": 0.375, "mean": 0.969, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.09558, 0.09578, 0.09612], [0.0955, 0.09577, 0.09601]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.815, "peak_gpu_mib": 12921.5, "seconds": 90.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage/GraspNet-baseline/head/swad", "group": "stage", "method": "GraspNet-baseline", "sets": ["head=swad"], "slot": "head", "component": "SWADHead", "variant": "swad", "verdict": "runs", "judge": 2, "config_hash": "e48db5776d77ea1b", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head=swad -o stage__GraspNet-baseline__head__swad.yaml", "probe": "grasppanda probe stage__GraspNet-baseline__head__swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1010396, "iterations": 20, "batch_size": 2, "grasps_per_frame": [302, 366], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5492], "loss/view": [0.2001, 0.07607], "loss/score": [2.256, 0.07229], "loss/width": [4.007, 0.1794], "loss": [7.226, 0.877]}, "trend": {"loss/objectness": [0.7623, 0.5863, 0.231], "loss/view": [0.2001, 0.07922, 0.604], "loss/score": [2.256, 0.08766, 0.961], "loss/width": [4.007, 0.1826, 0.954], "loss": [7.226, 0.9358, 0.871]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[0.1355, 0.2113, 0.3506], [0.1271, 0.2205, 0.3533]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.331, "peak_gpu_mib": 3971.8, "seconds": 14.3}, "run": "2026-10-15@96facee"},
  {"id": "stage/Scale-Balanced-Grasp/head/swad", "group": "stage", "method": "Scale-Balanced-Grasp", "sets": ["head=swad"], "slot": "head", "component": "SWADHead", "variant": "swad", "verdict": "runs", "judge": 2, "config_hash": "dc648bb3fce63151", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head=swad -o stage__Scale-Balanced-Grasp__head__swad.yaml", "probe": "grasppanda probe stage__Scale-Balanced-Grasp__head__swad.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1561628, "iterations": 20, "batch_size": 2, "grasps_per_frame": [17, 1], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3159], "loss/view": [0.2608, 0.1157], "loss/score": [1.603, 0.07299], "loss/width": [2.352, 0.1722], "loss": [4.975, 0.6768]}, "trend": {"loss/objectness": [0.7596, 0.3042, 0.599], "loss/view": [0.2608, 0.1296, 0.503], "loss/score": [1.603, 0.09166, 0.943], "loss/width": [2.352, 0.1852, 0.921], "loss": [4.975, 0.7107, 0.857]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.1674, 0.2184, 0.2809], [0.3168, 0.3168, 0.3168]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.504, "peak_gpu_mib": 9615.5, "seconds": 18.7}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/dense-fps+objectness-view-graspable+nearest-label-object-seeds+cylinder-vector-attention+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=dense-fps", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=cylinder-vector-attention", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "f33dec43e3df3a0a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=dense-fps --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=cylinder-vector-attention --set head=swad -o stage-set__dense__dense-fps+objectness-view-graspable+nearest-label-object-seeds+cylinder-vector-attention+swad.yaml", "probe": "grasppanda probe stage-set__dense__dense-fps+objectness-view-graspable+nearest-label-object-seeds+cylinder-vector-attention+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15906940, "iterations": 20, "batch_size": 4, "grasps_per_frame": [62, 66], "frames": 8, "losses": {"loss/objectness": [0.7177, 0.2708], "loss/view": [0.3297, 0.1119], "loss/score": [0.05241, 0.0407], "loss/width": [2.191, 0.1228], "loss": [3.291, 0.5462]}, "trend": {"loss/objectness": [0.7177, 0.2925, 0.592], "loss/view": [0.3297, 0.1153, 0.65], "loss/score": [0.05241, 0.04416, 0.157], "loss/width": [2.191, 0.1324, 0.94], "loss": [3.291, 0.5844, 0.822]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [19, 4], "score_quantiles": [[0.0825, 0.102, 0.1259], [0.08364, 0.09848, 0.1261]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.373, "peak_gpu_mib": 2846.7, "seconds": 36.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/dense-fps+objectness-view+nearest-label-object-seeds+cylinder-invres+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=dense-fps", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=cylinder-invres", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "d42e1c6b491f9d2a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=dense-fps --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=cylinder-invres --set head=swad -o stage-set__dense__dense-fps+objectness-view+nearest-label-object-seeds+cylinder-invres+swad.yaml", "probe": "grasppanda probe stage-set__dense__dense-fps+objectness-view+nearest-label-object-seeds+cylinder-invres+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16104572, "iterations": 20, "batch_size": 4, "grasps_per_frame": [76, 93], "frames": 8, "losses": {"loss/objectness": [0.7258, 0.54], "loss/view": [0.24, 0.05159], "loss/score": [0.4327, 0.03512], "loss/width": [2.232, 0.1816], "loss": [3.63, 0.8083]}, "trend": {"loss/objectness": [0.7258, 0.5727, 0.211], "loss/view": [0.24, 0.05484, 0.772], "loss/score": [0.4327, 0.03964, 0.908], "loss/width": [2.232, 0.1748, 0.922], "loss": [3.63, 0.842, 0.768]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 4], "score_quantiles": [[0.05416, 0.09071, 0.1757], [0.05317, 0.0871, 0.1532]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.376, "peak_gpu_mib": 2638.8, "seconds": 36.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/dense-fps+two-vector+scale-balanced+depth-embed+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14", "proposal=dense-fps", "view=two-vector", "assigner=scale-balanced", "grouper=depth-embed", "head=operation"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "945289114911279e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=dense-fps --set view=two-vector --set assigner=scale-balanced --set grouper=depth-embed --set head=operation -o stage-set__dense__dense-fps+two-vector+scale-balanced+depth-embed+operation.yaml", "fitted": ["out_channels: 256"], "probe": "grasppanda probe stage-set__dense__dense-fps+two-vector+scale-balanced+depth-embed+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 14970454, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [0.8653, 0.3659], "loss/view_frame": [1.35, 0.0], "loss/score": [0.0749, 0.03895], "loss/angle": [0.486, 0.4599], "loss/width": [0.4041, 0.1814], "loss/tolerance": [0.9393, 0.3464], "loss": [4.12, 1.393]}, "trend": {"loss/view": [0.8653, 0.4198, 0.515], "loss/view_frame": [1.35, 1.428, -0.057], "loss/score": [0.0749, 0.03846, 0.487], "loss/angle": [0.486, 0.4588, 0.056], "loss/width": [0.4041, 0.2753, 0.319], "loss/tolerance": [0.9393, 0.4761, 0.493], "loss": [4.12, 2.352, 0.429]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-2.59, 0.3519, 8.701], [-9.495, 0.1238, 6.33]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.145, "peak_gpu_mib": 1154.6, "seconds": 26.3}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/graspness-fps+template-view+compact-label+multi-scale+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=compact-label", "grouper=multi-scale", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "a84003b338714150", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=compact-label --set grouper=multi-scale --set head=economic -o stage-set__dense__graspness-fps+template-view+compact-label+multi-scale+economic.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+compact-label+multi-scale+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 19133441, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5501], "loss/graspness": [5.216, 0.2361], "loss/view": [6.545, 0.7007], "loss/angle": [3.311, 0.5556], "loss/depth": [1.829, 0.3008], "loss/score": [1.92, 0.4599], "loss/width": [1.331, 0.6802], "loss": [20.94, 3.483]}, "trend": {"loss/objectness": [0.7845, 0.5461, 0.304], "loss/graspness": [5.216, 0.2616, 0.95], "loss/view": [6.545, 0.6989, 0.893], "loss/angle": [3.311, 0.6703, 0.798], "loss/depth": [1.829, 0.3731, 0.796], "loss/score": [1.92, 0.5658, 0.705], "loss/width": [1.331, 0.896, 0.327], "loss": [20.94, 4.012, 0.808]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.141, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.934, -1.927, -1.92], [-1.936, -1.927, -1.92]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.278, "peak_gpu_mib": 5948.0, "seconds": 32.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+compact-label+CylinderGroup+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=compact-label", "grouper=CylinderGroup", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "c4ed8a82cc926649", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=compact-label --set grouper=CylinderGroup --set head=economic -o stage-set__dense__graspness-fps+template-view+compact-label+CylinderGroup+economic.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+compact-label+CylinderGroup+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15347496, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5474], "loss/graspness": [5.216, 0.268], "loss/view": [6.545, 0.6918], "loss/angle": [2.721, 0.7854], "loss/depth": [1.135, 0.4317], "loss/score": [1.314, 0.6292], "loss/width": [1.388, 0.7041], "loss": [19.1, 4.058]}, "trend": {"loss/objectness": [0.7845, 0.534, 0.319], "loss/graspness": [5.216, 0.2985, 0.943], "loss/view": [6.545, 0.7005, 0.893], "loss/angle": [2.721, 0.7921, 0.709], "loss/depth": [1.135, 0.3995, 0.648], "loss/score": [1.314, 0.6406, 0.512], "loss/width": [1.388, 0.735, 0.47], "loss": [19.1, 4.1, 0.785]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.877, -2.583, -2.285], [-2.864, -2.603, -2.096]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.142, "peak_gpu_mib": 1339.2, "seconds": 29.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+compact-label+CylinderInteractionGroup+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=compact-label", "grouper=CylinderInteractionGroup", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "1c0875d35711ce77", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=compact-label --set grouper=CylinderInteractionGroup --set head=economic -o stage-set__dense__graspness-fps+template-view+compact-label+CylinderInteractionGroup+economic.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+compact-label+CylinderInteractionGroup+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6226], "loss/graspness": [5.216, 0.2914], "loss/view": [6.545, 0.6797], "loss/angle": [3.303, 0.7592], "loss/depth": [2.236, 0.3936], "loss/score": [2.117, 0.6454], "loss/width": [8.756, 0.6513], "loss": [28.96, 4.043]}, "trend": {"loss/objectness": [0.7845, 0.6112, 0.221], "loss/graspness": [5.216, 0.3373, 0.935], "loss/view": [6.545, 0.7154, 0.891], "loss/angle": [3.303, 0.7057, 0.786], "loss/depth": [2.236, 0.4067, 0.818], "loss/score": [2.117, 0.6105, 0.712], "loss/width": [8.756, 0.7187, 0.918], "loss": [28.96, 4.105, 0.858]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.14, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.544, -3.25, -2.774], [-3.588, -3.27, -2.991]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.165, "peak_gpu_mib": 2066.2, "seconds": 26.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+nearest-label-object-seeds+multi-scale+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=multi-scale", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "51666edb27981511", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=multi-scale --set head=swad -o stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+multi-scale+swad.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+multi-scale+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 19139720, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5909], "loss/graspness": [5.176, 0.2868], "loss/view": [7.277, 0.4997], "loss/score": [0.3181, 0.01852], "loss/width": [2.277, 0.1416], "loss": [15.84, 1.538]}, "trend": {"loss/objectness": [0.7893, 0.6138, 0.222], "loss/graspness": [5.176, 0.295, 0.943], "loss/view": [7.277, 0.4628, 0.936], "loss/score": [0.3181, 0.02484, 0.922], "loss/width": [2.277, 0.1578, 0.931], "loss": [15.84, 1.554, 0.902]}, "real_seeds": {"min": 0.437, "mean": 0.953, "zero_iterations": 0}, "supervised_seeds": {"min": 0.514, "mean": 0.578, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.08814, 0.09741, 0.1038], [0.08739, 0.09709, 0.1053]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.426, "peak_gpu_mib": 6746.2, "seconds": 37.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+nearest-label-object-seeds+CylinderGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=CylinderGroup", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "8332d396c49b1161", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=CylinderGroup --set head=swad -o stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+CylinderGroup+swad.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+CylinderGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5735], "loss/graspness": [5.176, 0.2853], "loss/view": [7.277, 0.5598], "loss/score": [1.665, 0.09307], "loss/width": [3.832, 0.1975], "loss": [18.74, 1.709]}, "trend": {"loss/objectness": [0.7893, 0.6017, 0.238], "loss/graspness": [5.176, 0.2957, 0.943], "loss/view": [7.277, 0.4791, 0.934], "loss/score": [1.665, 0.1009, 0.939], "loss/width": [3.832, 0.2023, 0.947], "loss": [18.74, 1.68, 0.91]}, "real_seeds": {"min": 0.488, "mean": 0.956, "zero_iterations": 0}, "supervised_seeds": {"min": 0.513, "mean": 0.592, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09941, 0.1499, 0.2455], [0.09288, 0.1629, 0.2364]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.422, "peak_gpu_mib": 2067.5, "seconds": 34.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+nearest-label-object-seeds+CylinderInteractionGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=CylinderInteractionGroup", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "8a769ac1543338f7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=CylinderInteractionGroup --set head=swad -o stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15756517, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5869], "loss/graspness": [5.176, 0.3001], "loss/view": [7.277, 0.6077], "loss/score": [0.9774, 0.06697], "loss/width": [2.675, 0.1669], "loss": [16.89, 1.729]}, "trend": {"loss/objectness": [0.7893, 0.6069, 0.231], "loss/graspness": [5.176, 0.2936, 0.943], "loss/view": [7.277, 0.5275, 0.928], "loss/score": [0.9774, 0.07291, 0.925], "loss/width": [2.675, 0.1798, 0.933], "loss": [16.89, 1.681, 0.901]}, "real_seeds": {"min": 0.857, "mean": 0.993, "zero_iterations": 0}, "supervised_seeds": {"min": 0.51, "mean": 0.583, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.1533, 0.2492, 0.3798], [0.1608, 0.241, 0.3763]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.226, "peak_gpu_mib": 2790.1, "seconds": 30.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=DepthCylinderGroup", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "d90131045dbf3c01", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=DepthCylinderGroup --set head=operation-objectness -o stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 14889151, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.605], "loss/graspness": [2.47, 0.2894], "loss/view": [6.253, 0.4769], "loss/score": [0.04447, 0.02364], "loss/angle": [0.5093, 0.4311], "loss/width": [0.5105, 0.1578], "loss/tolerance": [0.9361, 0.3686], "loss": [11.5, 2.353]}, "trend": {"loss/objectness": [0.7759, 0.6343, 0.182], "loss/graspness": [2.47, 0.2924, 0.882], "loss/view": [6.253, 0.4376, 0.93], "loss/score": [0.04447, 0.02297, 0.483], "loss/angle": [0.5093, 0.4478, 0.121], "loss/width": [0.5105, 0.2231, 0.563], "loss/tolerance": [0.9361, 0.469, 0.499], "loss": [11.5, 2.527, 0.78]}, "real_seeds": {"min": 0.542, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 0.497, "mean": 0.56, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-10.77, -1.156, 9.034], [-7.518, -0.4209, 6.393]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.603, "peak_gpu_mib": 3431.3, "seconds": 32.0}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/graspness-fps+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=DepthCylinderGroup", "head=operation"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "a348404f4a8dc49a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=DepthCylinderGroup --set head=operation -o stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 14889151, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.6035], "loss/graspness": [2.47, 0.2886], "loss/view": [6.253, 0.4761], "loss/score": [0.07394, 0.03466], "loss/angle": [0.5093, 0.427], "loss/width": [0.5105, 0.2015], "loss/tolerance": [0.9361, 0.4454], "loss": [11.53, 2.477]}, "trend": {"loss/objectness": [0.7759, 0.6329, 0.184], "loss/graspness": [2.47, 0.2922, 0.882], "loss/view": [6.253, 0.4408, 0.929], "loss/score": [0.07394, 0.03001, 0.594], "loss/angle": [0.5093, 0.4654, 0.086], "loss/width": [0.5105, 0.2258, 0.558], "loss/tolerance": [0.9361, 0.5426, 0.42], "loss": [11.53, 2.63, 0.772]}, "real_seeds": {"min": 0.498, "mean": 0.975, "zero_iterations": 0}, "supervised_seeds": {"min": 0.49, "mean": 0.56, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-22.62, -0.8174, 6.795], [-17.11, -0.5025, 9.951]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.551, "peak_gpu_mib": 3431.3, "seconds": 29.9}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/graspness-fps+template-view+NearestLabelAssigner+multi-scale+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=NearestLabelAssigner", "grouper=multi-scale", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "0814e6e5e94ea939", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=NearestLabelAssigner --set grouper=multi-scale --set head=swad -o stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+multi-scale+swad.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+multi-scale+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 19139720, "iterations": 20, "batch_size": 4, "grasps_per_frame": [870, 810], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5692], "loss/graspness": [5.176, 0.3208], "loss/view": [6.291, 0.4486], "loss/score": [0.3143, 0.01898], "loss/width": [2.187, 0.1502], "loss": [14.76, 1.508]}, "trend": {"loss/objectness": [0.7893, 0.606, 0.232], "loss/graspness": [5.176, 0.3251, 0.937], "loss/view": [6.291, 0.383, 0.939], "loss/score": [0.3143, 0.01684, 0.946], "loss/width": [2.187, 0.1694, 0.923], "loss": [14.76, 1.5, 0.898]}, "real_seeds": {"min": 0.924, "mean": 0.996, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.1007, 0.1111, 0.1194], [0.1028, 0.1108, 0.1227]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.291, "peak_gpu_mib": 6518.4, "seconds": 29.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+NearestLabelAssigner+CylinderGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=NearestLabelAssigner", "grouper=CylinderGroup", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "2aefab0823deea55", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=NearestLabelAssigner --set grouper=CylinderGroup --set head=swad -o stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+CylinderGroup+swad.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+CylinderGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [176, 229], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6389], "loss/graspness": [5.176, 0.4753], "loss/view": [6.291, 0.3091], "loss/score": [1.515, 0.08497], "loss/width": [3.654, 0.3957], "loss": [17.43, 1.904]}, "trend": {"loss/objectness": [0.7893, 0.6214, 0.213], "loss/graspness": [5.176, 0.3834, 0.926], "loss/view": [6.291, 0.3742, 0.941], "loss/score": [1.515, 0.09001, 0.941], "loss/width": [3.654, 0.2645, 0.928], "loss": [17.43, 1.734, 0.901]}, "real_seeds": {"min": 0.344, "mean": 0.905, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08963, 0.1792, 0.2609], [0.1154, 0.1856, 0.4021]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.267, "peak_gpu_mib": 1841.5, "seconds": 31.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+NearestLabelAssigner+CylinderInteractionGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=NearestLabelAssigner", "grouper=CylinderInteractionGroup", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "97aa0142bc80ec7b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=NearestLabelAssigner --set grouper=CylinderInteractionGroup --set head=swad -o stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+CylinderInteractionGroup+swad.yaml", "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+CylinderInteractionGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15756517, "iterations": 20, "batch_size": 4, "grasps_per_frame": [806, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5954], "loss/graspness": [5.176, 0.3897], "loss/view": [6.291, 0.5351], "loss/score": [0.9678, 0.07231], "loss/width": [2.606, 0.3194], "loss": [15.83, 1.912]}, "trend": {"loss/objectness": [0.7893, 0.6032, 0.236], "loss/graspness": [5.176, 0.3608, 0.93], "loss/view": [6.291, 0.5444, 0.913], "loss/score": [0.9678, 0.07477, 0.923], "loss/width": [2.606, 0.2296, 0.912], "loss": [15.83, 1.813, 0.885]}, "real_seeds": {"min": 0.518, "mean": 0.927, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.1733, 0.3091, 0.4687], [0.1392, 0.2918, 0.519]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.247, "peak_gpu_mib": 2564.1, "seconds": 27.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/graspness-fps+template-view+NearestLabelAssigner+DepthCylinderGroup+operation-objectness", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=NearestLabelAssigner", "grouper=DepthCylinderGroup", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "4c7056b35ea7602a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=NearestLabelAssigner --set grouper=DepthCylinderGroup --set head=operation-objectness -o stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+DepthCylinderGroup+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+DepthCylinderGroup+operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 14889151, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.6038], "loss/graspness": [2.47, 0.3425], "loss/view": [5.537, 0.3713], "loss/score": [0.04397, 0.01434], "loss/angle": [0.4992, 0.4552], "loss/width": [0.4925, 0.2191], "loss/tolerance": [0.9792, 0.4941], "loss": [10.8, 2.5]}, "trend": {"loss/objectness": [0.7759, 0.6317, 0.186], "loss/graspness": [2.47, 0.3364, 0.864], "loss/view": [5.537, 0.3511, 0.937], "loss/score": [0.04397, 0.02176, 0.505], "loss/angle": [0.4992, 0.4486, 0.101], "loss/width": [0.4925, 0.2438, 0.505], "loss/tolerance": [0.9792, 0.5728, 0.415], "loss": [10.8, 2.606, 0.759]}, "real_seeds": {"min": 0.885, "mean": 0.994, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-9.046, -0.1571, 11.63], [-6.171, -0.1081, 15.93]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.3, "peak_gpu_mib": 3431.3, "seconds": 30.2}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/graspness-fps+template-view+NearestLabelAssigner+DepthCylinderGroup+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=sparse-unet14", "proposal=graspness-fps", "view=template-view", "assigner=NearestLabelAssigner", "grouper=DepthCylinderGroup", "head=operation"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "0bf7be9cb0f3401a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=graspness-fps --set view=template-view --set assigner=NearestLabelAssigner --set grouper=DepthCylinderGroup --set head=operation -o stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+DepthCylinderGroup+operation.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__graspness-fps+template-view+NearestLabelAssigner+DepthCylinderGroup+operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 14889151, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.6028], "loss/graspness": [2.47, 0.3403], "loss/view": [5.537, 0.365], "loss/score": [0.07213, 0.04347], "loss/angle": [0.4992, 0.4401], "loss/width": [0.4925, 0.1843], "loss/tolerance": [0.9792, 0.5079], "loss": [10.83, 2.484]}, "trend": {"loss/objectness": [0.7759, 0.6305, 0.187], "loss/graspness": [2.47, 0.3361, 0.864], "loss/view": [5.537, 0.352, 0.936], "loss/score": [0.07213, 0.03274, 0.546], "loss/angle": [0.4992, 0.437, 0.125], "loss/width": [0.4925, 0.2126, 0.568], "loss/tolerance": [0.9792, 0.5522, 0.436], "loss": [10.83, 2.553, 0.764]}, "real_seeds": {"min": 0.893, "mean": 0.995, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-19.88, -0.8212, 20.39], [-14.34, -0.7819, 22.85]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.442, "peak_gpu_mib": 3431.3, "seconds": 30.9}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/scored-fps+direction-regression+nearest-label-object-seeds+depth-pool+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=direction-regression", "assigner=nearest-label-object-seeds", "grouper=depth-pool", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "ef40031703a27ecf", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=direction-regression --set assigner=nearest-label-object-seeds --set grouper=depth-pool --set head=swad -o stage-set__dense__scored-fps+direction-regression+nearest-label-object-seeds+depth-pool+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+direction-regression+nearest-label-object-seeds+depth-pool+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15045062, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6005], "loss/graspness": [5.176, 0.289], "loss/view": [1.206, 0.2462], "loss/score": [2.296, 0.07002], "loss/width": [2.264, 0.1928], "loss": [11.73, 1.399]}, "trend": {"loss/objectness": [0.7893, 0.6238, 0.21], "loss/graspness": [5.176, 0.3213, 0.938], "loss/view": [1.206, 0.2666, 0.779], "loss/score": [2.296, 0.1013, 0.956], "loss/width": [2.264, 0.2801, 0.876], "loss": [11.73, 1.593, 0.864]}, "real_seeds": {"min": 0.047, "mean": 0.847, "zero_iterations": 0}, "supervised_seeds": {"min": 0.258, "mean": 0.54, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1499, 0.1692, 0.1825], [0.1452, 0.1681, 0.1856]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.283, "peak_gpu_mib": 6647.3, "seconds": 34.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+direction-vmf+compact-label+knn+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=direction-vmf", "assigner=compact-label", "grouper=knn", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "f1c2c551f13a3f64", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=direction-vmf --set assigner=compact-label --set grouper=knn --set head=economic -o stage-set__dense__scored-fps+direction-vmf+compact-label+knn+economic.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+direction-vmf+compact-label+knn+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15195648, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5323], "loss/graspness": [5.216, 0.2572], "loss/view": [2.742, 1.978], "loss/angle": [2.012, 1.959], "loss/depth": [1.698, 0.9245], "loss/score": [2.015, 1.614], "loss/width": [6.776, 0.49], "loss": [21.24, 7.755]}, "trend": {"loss/objectness": [0.7845, 0.526, 0.33], "loss/graspness": [5.216, 0.2976, 0.943], "loss/view": [2.742, 1.96, 0.285], "loss/angle": [2.012, 1.943, 0.034], "loss/depth": [1.698, 0.9687, 0.429], "loss/score": [2.015, 1.566, 0.223], "loss/width": [6.776, 0.4791, 0.929], "loss": [21.24, 7.74, 0.636]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.151, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-0.755, -0.3298, -0.02161], [-0.6596, -0.3224, 0.1207]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.146, "peak_gpu_mib": 1397.7, "seconds": 33.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+healpix-192+nearest-label-object-seeds+multi-scale-linear+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=healpix-192", "assigner=nearest-label-object-seeds", "grouper=multi-scale-linear", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "d4fc5cf78855fc6b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=healpix-192 --set assigner=nearest-label-object-seeds --set grouper=multi-scale-linear --set head=swad -o stage-set__dense__scored-fps+healpix-192+nearest-label-object-seeds+multi-scale-linear+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+healpix-192+nearest-label-object-seeds+multi-scale-linear+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16155971, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5698], "loss/graspness": [5.176, 0.2561], "loss/view": [7.114, 0.5081], "loss/score": [0.4739, 0.07047], "loss/width": [2.848, 0.2234], "loss": [16.4, 1.628]}, "trend": {"loss/objectness": [0.7893, 0.5999, 0.24], "loss/graspness": [5.176, 0.283, 0.945], "loss/view": [7.114, 0.4945, 0.93], "loss/score": [0.4739, 0.08328, 0.824], "loss/width": [2.848, 0.2245, 0.921], "loss": [16.4, 1.685, 0.897]}, "real_seeds": {"min": 0.277, "mean": 0.943, "zero_iterations": 0}, "supervised_seeds": {"min": 0.508, "mean": 0.583, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.08657, 0.1396, 0.1996], [0.09418, 0.139, 1.313]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.269, "peak_gpu_mib": 3260.8, "seconds": 39.6}, "run": "2026-10-16@96facee"},
  {"id": "stage-set/dense/scored-fps+healpix-768+compact-label+pyg-edge-conv+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=healpix-768", "assigner=compact-label", "grouper=pyg-edge-conv", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "ffe2d0d3da018f2a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=healpix-768 --set assigner=compact-label --set grouper=pyg-edge-conv --set head=economic -o stage-set__dense__scored-fps+healpix-768+compact-label+pyg-edge-conv+economic.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+healpix-768+compact-label+pyg-edge-conv+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15719932, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5377], "loss/graspness": [5.216, 0.2526], "loss/view": [6.737, 0.7489], "loss/angle": [2.834, 0.8491], "loss/depth": [1.612, 0.4018], "loss/score": [1.431, 0.66], "loss/width": [3.41, 0.6658], "loss": [22.02, 4.116]}, "trend": {"loss/objectness": [0.7845, 0.5326, 0.321], "loss/graspness": [5.216, 0.2917, 0.944], "loss/view": [6.737, 0.7413, 0.89], "loss/angle": [2.834, 0.7551, 0.734], "loss/depth": [1.612, 0.413, 0.744], "loss/score": [1.431, 0.6098, 0.574], "loss/width": [3.41, 0.7354, 0.784], "loss": [22.02, 4.079, 0.815]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.143, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.661, -2.345, -1.147], [-3.752, -2.436, -1.102]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.254, "peak_gpu_mib": 1773.6, "seconds": 41.0}, "run": "2026-10-16@96facee"},
  {"id": "stage-set/dense/scored-fps+icosphere-162+nearest-label-object-seeds+pyg-gatv2-conv+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=icosphere-162", "assigner=nearest-label-object-seeds", "grouper=pyg-gatv2-conv", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "067dcb9b1fc01ae6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=icosphere-162 --set assigner=nearest-label-object-seeds --set grouper=pyg-gatv2-conv --set head=swad -o stage-set__dense__scored-fps+icosphere-162+nearest-label-object-seeds+pyg-gatv2-conv+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+icosphere-162+nearest-label-object-seeds+pyg-gatv2-conv+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16140069, "iterations": 20, "batch_size": 4, "grasps_per_frame": [405, 441], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5627], "loss/graspness": [5.176, 0.2617], "loss/view": [7.04, 0.7045], "loss/score": [0.2144, 0.05546], "loss/width": [2.328, 0.3168], "loss": [15.55, 1.901]}, "trend": {"loss/objectness": [0.7893, 0.588, 0.255], "loss/graspness": [5.176, 0.2971, 0.943], "loss/view": [7.04, 0.5396, 0.923], "loss/score": [0.2144, 0.06213, 0.71], "loss/width": [2.328, 0.3547, 0.848], "loss": [15.55, 1.842, 0.882]}, "real_seeds": {"min": 0.239, "mean": 0.94, "zero_iterations": 0}, "supervised_seeds": {"min": 0.512, "mean": 0.585, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.05325, 0.07638, 0.1244], [0.05754, 0.07872, 0.1931]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.21, "peak_gpu_mib": 3027.1, "seconds": 35.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+icosphere-642+compact-label+pyg-point-transformer-conv+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=icosphere-642", "assigner=compact-label", "grouper=pyg-point-transformer-conv", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "e0640e5abd4bc060", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=icosphere-642 --set assigner=compact-label --set grouper=pyg-point-transformer-conv --set head=economic -o stage-set__dense__scored-fps+icosphere-642+compact-label+pyg-point-transformer-conv+economic.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+icosphere-642+compact-label+pyg-point-transformer-conv+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15719294, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6198], "loss/graspness": [5.216, 0.3375], "loss/view": [6.684, 0.7157], "loss/angle": [2.211, 0.7581], "loss/depth": [1.43, 0.3839], "loss/score": [1.643, 0.6359], "loss/width": [2.622, 0.6271], "loss": [20.59, 4.078]}, "trend": {"loss/objectness": [0.7845, 0.6128, 0.219], "loss/graspness": [5.216, 0.403, 0.923], "loss/view": [6.684, 0.7525, 0.887], "loss/angle": [2.211, 0.7437, 0.664], "loss/depth": [1.43, 0.4279, 0.701], "loss/score": [1.643, 0.6515, 0.603], "loss/width": [2.622, 0.6619, 0.748], "loss": [20.59, 4.253, 0.793]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.149, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.99, -2.244, -1.545], [-2.971, -2.203, -1.184]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.151, "peak_gpu_mib": 1628.7, "seconds": 34.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+lattice-angular-cost+nearest-label-object-seeds+pyg-pointnet-conv+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=lattice-angular-cost", "assigner=nearest-label-object-seeds", "grouper=pyg-pointnet-conv", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "b01e76907240ffe0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=lattice-angular-cost --set assigner=nearest-label-object-seeds --set grouper=pyg-pointnet-conv --set head=swad -o stage-set__dense__scored-fps+lattice-angular-cost+nearest-label-object-seeds+pyg-pointnet-conv+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+lattice-angular-cost+nearest-label-object-seeds+pyg-pointnet-conv+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15354287, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5237], "loss/graspness": [5.176, 0.3328], "loss/view": [5.779, 4.439], "loss/view_angular": [0.501, 0.1973], "loss/score": [0.3112, 0.08328], "loss/width": [2.771, 0.2862], "loss": [15.33, 5.863]}, "trend": {"loss/objectness": [0.7893, 0.5638, 0.286], "loss/graspness": [5.176, 0.4373, 0.916], "loss/view": [5.779, 4.59, 0.206], "loss/view_angular": [0.501, 0.2161, 0.569], "loss/score": [0.3112, 0.09289, 0.702], "loss/width": [2.771, 0.2462, 0.911], "loss": [15.33, 6.147, 0.599]}, "real_seeds": {"min": 0.668, "mean": 0.964, "zero_iterations": 0}, "supervised_seeds": {"min": 0.505, "mean": 0.6, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.04736, 0.08472, 0.1428], [0.04796, 0.08122, 0.1462]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.184, "peak_gpu_mib": 1939.5, "seconds": 34.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+lattice-best-view+compact-label+pyg-transformer-conv+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=lattice-best-view", "assigner=compact-label", "grouper=pyg-transformer-conv", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "35e1d50afd786279", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=lattice-best-view --set assigner=compact-label --set grouper=pyg-transformer-conv --set head=economic -o stage-set__dense__scored-fps+lattice-best-view+compact-label+pyg-transformer-conv+economic.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+lattice-best-view+compact-label+pyg-transformer-conv+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 16859944, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6125], "loss/graspness": [5.216, 0.2962], "loss/view": [5.765, 4.921], "loss/angle": [2.337, 1.991], "loss/depth": [1.567, 0.8642], "loss/score": [1.842, 1.544], "loss/width": [2.203, 0.496], "loss": [19.71, 10.72]}, "trend": {"loss/objectness": [0.7845, 0.5877, 0.251], "loss/graspness": [5.216, 0.301, 0.942], "loss/view": [5.765, 5.012, 0.131], "loss/angle": [2.337, 1.954, 0.164], "loss/depth": [1.567, 0.8988, 0.426], "loss/score": [1.842, 1.597, 0.133], "loss/width": [2.203, 0.5171, 0.765], "loss": [19.71, 10.87, 0.449]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.15, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.113, -0.7267, 0.4679], [-1.98, -0.6743, 0.6916]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.174, "peak_gpu_mib": 3224.2, "seconds": 33.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+lattice-fibonacci-120+nearest-label-object-seeds+roi-aware+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=lattice-fibonacci-120", "assigner=nearest-label-object-seeds", "grouper=roi-aware", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "ef86ea46dc12aea6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=lattice-fibonacci-120 --set assigner=nearest-label-object-seeds --set grouper=roi-aware --set head=swad -o stage-set__dense__scored-fps+lattice-fibonacci-120+nearest-label-object-seeds+roi-aware+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+lattice-fibonacci-120+nearest-label-object-seeds+roi-aware+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15670427, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5965], "loss/graspness": [5.176, 0.2563], "loss/view": [7.023, 0.5324], "loss/score": [0.2218, 0.05131], "loss/width": [2.21, 0.2928], "loss": [15.42, 1.729]}, "trend": {"loss/objectness": [0.7893, 0.622, 0.212], "loss/graspness": [5.176, 0.2934, 0.943], "loss/view": [7.023, 0.5226, 0.926], "loss/score": [0.2218, 0.05657, 0.745], "loss/width": [2.21, 0.3041, 0.862], "loss": [15.42, 1.799, 0.883]}, "real_seeds": {"min": 0.274, "mean": 0.936, "zero_iterations": 0}, "supervised_seeds": {"min": 0.42, "mean": 0.563, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.05646, 0.1169, 0.2805], [0.05966, 0.1206, 0.4599]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 5638.4, "seconds": 33.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+lattice-hemisphere-60+compact-label+roi-grid+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=lattice-hemisphere-60", "assigner=compact-label", "grouper=roi-grid", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "44aec9f126f9cc7a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=lattice-hemisphere-60 --set assigner=compact-label --set grouper=roi-grid --set head=economic -o stage-set__dense__scored-fps+lattice-hemisphere-60+compact-label+roi-grid+economic.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+lattice-hemisphere-60+compact-label+roi-grid+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15572216, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5294], "loss/graspness": [5.216, 0.2472], "loss/view": [7.102, 1.551], "loss/angle": [2.919, 1.269], "loss/depth": [1.622, 0.5837], "loss/score": [2.248, 1.034], "loss/width": [2.381, 0.6653], "loss": [22.27, 5.88]}, "trend": {"loss/objectness": [0.7845, 0.5318, 0.322], "loss/graspness": [5.216, 0.2846, 0.945], "loss/view": [7.102, 1.574, 0.778], "loss/angle": [2.919, 1.232, 0.578], "loss/depth": [1.622, 0.6012, 0.629], "loss/score": [2.248, 0.9749, 0.566], "loss/width": [2.381, 0.7403, 0.689], "loss": [22.27, 5.939, 0.733]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.147, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.217, -1.503, -0.847], [-2.284, -1.539, -0.7442]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.193, "peak_gpu_mib": 4495.4, "seconds": 32.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+lattice-soft-argmax+nearest-label-object-seeds+voxel-set-abstraction+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=lattice-soft-argmax", "assigner=nearest-label-object-seeds", "grouper=voxel-set-abstraction", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "e61f726fb07a49c0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=lattice-soft-argmax --set assigner=nearest-label-object-seeds --set grouper=voxel-set-abstraction --set head=swad -o stage-set__dense__scored-fps+lattice-soft-argmax+nearest-label-object-seeds+voxel-set-abstraction+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+lattice-soft-argmax+nearest-label-object-seeds+voxel-set-abstraction+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15324399, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6003], "loss/graspness": [5.176, 0.2685], "loss/view": [7.277, 0.4686], "loss/score": [0.2722, 0.05492], "loss/width": [2.185, 0.3276], "loss": [15.7, 1.72]}, "trend": {"loss/objectness": [0.7893, 0.6226, 0.211], "loss/graspness": [5.176, 0.2927, 0.943], "loss/view": [7.277, 0.445, 0.939], "loss/score": [0.2722, 0.06076, 0.777], "loss/width": [2.185, 0.359, 0.836], "loss": [15.7, 1.78, 0.887]}, "real_seeds": {"min": 0.259, "mean": 0.932, "zero_iterations": 0}, "supervised_seeds": {"min": 0.513, "mean": 0.567, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.04735, 0.09448, 0.2035], [0.04996, 0.09551, 1.741]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.188, "peak_gpu_mib": 1956.1, "seconds": 29.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+lattice-topk+scale-balanced+depth-ball+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=lattice-topk", "assigner=scale-balanced", "grouper=depth-ball", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "e4c1b800c344c6fd", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=lattice-topk --set assigner=scale-balanced --set grouper=depth-ball --set head=operation-objectness -o stage-set__dense__scored-fps+lattice-topk+scale-balanced+depth-ball+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__scored-fps+lattice-topk+scale-balanced+depth-ball+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 14889151, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.6042], "loss/graspness": [2.47, 0.3238], "loss/view": [5.825, 0.2848], "loss/score": [0.05223, 0.02494], "loss/angle": [0.4769, 0.4469], "loss/width": [0.5023, 0.2252], "loss/tolerance": [1.16, 0.5892], "loss": [11.26, 2.499]}, "trend": {"loss/objectness": [0.7759, 0.6351, 0.181], "loss/graspness": [2.47, 0.2947, 0.881], "loss/view": [5.825, 0.2515, 0.957], "loss/score": [0.05223, 0.0237, 0.546], "loss/angle": [0.4769, 0.4586, 0.038], "loss/width": [0.5023, 0.2359, 0.53], "loss/tolerance": [1.16, 0.5692, 0.509], "loss": [11.26, 2.469, 0.781]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.233, "mean": 0.934, "zero_iterations": 0}, "supervised_seeds": {"min": 0.485, "mean": 0.553, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-8.787, 0.5558, 7.179], [-5.505, 0.3767, 9.662]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.337, "peak_gpu_mib": 1950.3, "seconds": 31.6}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/scored-fps+lattice-view+scale-balanced+depth-box+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=lattice-view", "assigner=scale-balanced", "grouper=depth-box", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "4fea7213a7c7d9cc", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=lattice-view --set assigner=scale-balanced --set grouper=depth-box --set head=operation-objectness -o stage-set__dense__scored-fps+lattice-view+scale-balanced+depth-box+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__scored-fps+lattice-view+scale-balanced+depth-box+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 14954943, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.5973], "loss/graspness": [2.47, 0.2546], "loss/view": [5.825, 0.3269], "loss/score": [0.05191, 0.02205], "loss/angle": [0.5197, 0.448], "loss/width": [0.5737, 0.2294], "loss/tolerance": [1.297, 0.5104], "loss": [11.51, 2.389]}, "trend": {"loss/objectness": [0.7759, 0.6338, 0.183], "loss/graspness": [2.47, 0.299, 0.879], "loss/view": [5.825, 0.2732, 0.953], "loss/score": [0.05191, 0.02361, 0.545], "loss/angle": [0.5197, 0.465, 0.105], "loss/width": [0.5737, 0.2426, 0.577], "loss/tolerance": [1.297, 0.6192, 0.523], "loss": [11.51, 2.557, 0.778]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.497, "mean": 0.55, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-19.08, 0.1387, 11.13], [-20.37, 0.08098, 35.73]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.606, "peak_gpu_mib": 1951.0, "seconds": 30.6}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/scored-fps+rotation-6d+scale-balanced+depth-cylinder-attentive+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=rotation-6d", "assigner=scale-balanced", "grouper=depth-cylinder-attentive", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "6de3101dee6e388b", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=rotation-6d --set assigner=scale-balanced --set grouper=depth-cylinder-attentive --set head=operation-objectness -o stage-set__dense__scored-fps+rotation-6d+scale-balanced+depth-cylinder-attentive+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__scored-fps+rotation-6d+scale-balanced+depth-cylinder-attentive+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 14944985, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.6661], "loss/graspness": [2.47, 0.3075], "loss/view": [1.007, 0.3413], "loss/view_frame": [1.418, 0.0], "loss/score": [0.03467, 0.02635], "loss/angle": [0.5113, 0.4719], "loss/width": [0.5376, 0.08524], "loss/tolerance": [1.011, 0.2242], "loss": [7.767, 2.123]}, "trend": {"loss/objectness": [0.7759, 0.6726, 0.133], "loss/graspness": [2.47, 0.4175, 0.831], "loss/view": [1.007, 0.395, 0.608], "loss/view_frame": [1.418, 1.306, 0.08], "loss/score": [0.03467, 0.02239, 0.354], "loss/angle": [0.5113, 0.4552, 0.11], "loss/width": [0.5376, 0.1141, 0.788], "loss/tolerance": [1.011, 0.2626, 0.74], "loss": [7.767, 2.754, 0.645]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.465, "mean": 0.529, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-44.88, 0.06424, 44.88], [-122.6, 0.0003097, 22.56]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.502, "peak_gpu_mib": 3101.5, "seconds": 35.2}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/scored-fps+rotation-9d+scale-balanced+depth-cylinder-multi-scale+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=rotation-9d", "assigner=scale-balanced", "grouper=depth-cylinder-multi-scale", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "4c00bfd6fbfd812e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=rotation-9d --set assigner=scale-balanced --set grouper=depth-cylinder-multi-scale --set head=operation-objectness -o stage-set__dense__scored-fps+rotation-9d+scale-balanced+depth-cylinder-multi-scale+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__scored-fps+rotation-9d+scale-balanced+depth-cylinder-multi-scale+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 15268700, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.6769], "loss/graspness": [2.47, 0.3408], "loss/view": [0.9655, 0.3381], "loss/view_frame": [1.474, 0.0], "loss/score": [0.06135, 0.01968], "loss/angle": [0.521, 0.4266], "loss/width": [0.646, 0.1061], "loss/tolerance": [1.187, 0.2354], "loss": [8.101, 2.144]}, "trend": {"loss/objectness": [0.7759, 0.6787, 0.125], "loss/graspness": [2.47, 0.5389, 0.782], "loss/view": [0.9655, 0.4062, 0.579], "loss/view_frame": [1.474, 1.495, -0.014], "loss/score": [0.06135, 0.01695, 0.724], "loss/angle": [0.521, 0.4256, 0.183], "loss/width": [0.646, 0.1361, 0.789], "loss/tolerance": [1.187, 0.2906, 0.755], "loss": [8.101, 3.178, 0.608]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["flat", "zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.504, "mean": 0.544, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-20.66, 0.2074, 15.32], [-77.71, 0.4013, 34.96]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.735, "peak_gpu_mib": 8880.3, "seconds": 35.2}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/scored-fps+rotation-quaternion+scale-balanced+depth-cylinder-projection+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=rotation-quaternion", "assigner=scale-balanced", "grouper=depth-cylinder-projection", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "577a874771b1b3c4", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=rotation-quaternion --set assigner=scale-balanced --set grouper=depth-cylinder-projection --set head=operation-objectness -o stage-set__dense__scored-fps+rotation-quaternion+scale-balanced+depth-cylinder-projection+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__scored-fps+rotation-quaternion+scale-balanced+depth-cylinder-projection+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 14944663, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.6681], "loss/graspness": [2.47, 0.3154], "loss/view": [1.331, 0.3463], "loss/view_frame": [0.5902, 0.0], "loss/score": [0.05755, 0.02269], "loss/angle": [0.5237, 0.4297], "loss/width": [0.7529, 0.2179], "loss/tolerance": [1.174, 0.4805], "loss": [7.676, 2.481]}, "trend": {"loss/objectness": [0.7759, 0.6802, 0.123], "loss/graspness": [2.47, 0.4103, 0.834], "loss/view": [1.331, 0.4075, 0.694], "loss/view_frame": [0.5902, 1.357, -1.299], "loss/score": [0.05755, 0.01972, 0.657], "loss/angle": [0.5237, 0.4363, 0.167], "loss/width": [0.7529, 0.2123, 0.718], "loss/tolerance": [1.174, 0.5222, 0.555], "loss": [7.676, 3.206, 0.582]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.505, "mean": 0.539, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-12.58, 0.3572, 8.701], [-12.61, 0.2816, 54.57]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.405, "peak_gpu_mib": 3433.0, "seconds": 31.5}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/dense/scored-fps+two-vector-baseline+compact-label+ball+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=two-vector-baseline", "assigner=compact-label", "grouper=ball", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "256855cea5a4513a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=two-vector-baseline --set assigner=compact-label --set grouper=ball --set head=economic -o stage-set__dense__scored-fps+two-vector-baseline+compact-label+ball+economic.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+two-vector-baseline+compact-label+ball+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15196674, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5501], "loss/graspness": [5.216, 0.2443], "loss/view": [1.147, 0.4428], "loss/view_frame": [1.452, 1.169], "loss/angle": [2.375, 1.865], "loss/depth": [1.606, 0.9331], "loss/score": [1.805, 1.548], "loss/width": [2.055, 0.5616], "loss": [16.44, 7.315]}, "trend": {"loss/objectness": [0.7845, 0.539, 0.313], "loss/graspness": [5.216, 0.2711, 0.948], "loss/view": [1.147, 0.4371, 0.619], "loss/view_frame": [1.452, 1.191, 0.179], "loss/angle": [2.375, 1.846, 0.222], "loss/depth": [1.606, 0.9371, 0.416], "loss/score": [1.805, 1.555, 0.139], "loss/width": [2.055, 0.6114, 0.703], "loss": [16.44, 7.388, 0.551]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-0.6658, -0.3974, -0.104], [-0.7713, -0.3734, 0.2036]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 1397.8, "seconds": 33.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+two-vector-baseline+compact-label+cylinder-attentive+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=two-vector-baseline", "assigner=compact-label", "grouper=cylinder-attentive", "head=economic"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "02dbe982656a0166", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=two-vector-baseline --set assigner=compact-label --set grouper=cylinder-attentive --set head=economic -o stage-set__dense__scored-fps+two-vector-baseline+compact-label+cylinder-attentive+economic.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+two-vector-baseline+compact-label+cylinder-attentive+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15328514, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5887], "loss/graspness": [5.216, 0.3142], "loss/view": [1.147, 0.4609], "loss/view_frame": [1.452, 1.273], "loss/angle": [2.773, 1.773], "loss/depth": [2.012, 0.8393], "loss/score": [2.757, 1.463], "loss/width": [1.201, 0.7165], "loss": [17.34, 7.429]}, "trend": {"loss/objectness": [0.7845, 0.5848, 0.255], "loss/graspness": [5.216, 0.3612, 0.931], "loss/view": [1.147, 0.4444, 0.612], "loss/view_frame": [1.452, 1.176, 0.19], "loss/angle": [2.773, 1.676, 0.396], "loss/depth": [2.012, 0.8214, 0.592], "loss/score": [2.757, 1.399, 0.492], "loss/width": [1.201, 0.7298, 0.392], "loss": [17.34, 7.192, 0.585]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.147, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.285, -1.471, -0.4109], [-2.176, -1.199, -0.1019]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.192, "peak_gpu_mib": 1698.7, "seconds": 33.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+two-vector-baseline+nearest-label-object-seeds+box+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=two-vector-baseline", "assigner=nearest-label-object-seeds", "grouper=box", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "31ab760c1cb43415", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=two-vector-baseline --set assigner=nearest-label-object-seeds --set grouper=box --set head=swad -o stage-set__dense__scored-fps+two-vector-baseline+nearest-label-object-seeds+box+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+two-vector-baseline+nearest-label-object-seeds+box+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15202953, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5351], "loss/graspness": [5.176, 0.4303], "loss/view": [1.064, 0.2538], "loss/view_frame": [1.307, 1.421], "loss/score": [1.174, 0.06752], "loss/width": [3.681, 0.1386], "loss": [13.19, 2.847]}, "trend": {"loss/objectness": [0.7893, 0.5646, 0.285], "loss/graspness": [5.176, 0.4136, 0.92], "loss/view": [1.064, 0.2792, 0.738], "loss/view_frame": [1.307, 1.255, 0.039], "loss/score": [1.174, 0.08883, 0.924], "loss/width": [3.681, 0.1606, 0.956], "loss": [13.19, 2.528, 0.808]}, "active": {"loss/view_frame": 18}, "flags": {"loss/view_frame": ["flat"]}, "real_seeds": {"min": 0.711, "mean": 0.973, "zero_iterations": 0}, "supervised_seeds": {"min": 0.494, "mean": 0.605, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1063, 0.1784, 0.3592], [0.1029, 0.1849, 0.3281]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.252, "peak_gpu_mib": 2129.4, "seconds": 35.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+two-vector-baseline+nearest-label-object-seeds+cylinder-edgeconv+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=two-vector-baseline", "assigner=nearest-label-object-seeds", "grouper=cylinder-edgeconv", "head=swad"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "efbadc41b33e8700", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=two-vector-baseline --set assigner=nearest-label-object-seeds --set grouper=cylinder-edgeconv --set head=swad -o stage-set__dense__scored-fps+two-vector-baseline+nearest-label-object-seeds+cylinder-edgeconv+swad.yaml", "probe": "grasppanda probe stage-set__dense__scored-fps+two-vector-baseline+nearest-label-object-seeds+cylinder-edgeconv+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15334025, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5498], "loss/graspness": [5.176, 0.3437], "loss/view": [1.064, 0.2524], "loss/view_frame": [1.307, 1.369], "loss/score": [0.7837, 0.07582], "loss/width": [2.521, 0.1648], "loss": [11.64, 2.756]}, "trend": {"loss/objectness": [0.7893, 0.5658, 0.283], "loss/graspness": [5.176, 0.4476, 0.914], "loss/view": [1.064, 0.2422, 0.772], "loss/view_frame": [1.307, 1.094, 0.163], "loss/score": [0.7837, 0.09917, 0.873], "loss/width": [2.521, 0.1756, 0.93], "loss": [11.64, 2.397, 0.794]}, "active": {"loss/view_frame": 18}, "real_seeds": {"min": 0.383, "mean": 0.945, "zero_iterations": 0}, "supervised_seeds": {"min": 0.503, "mean": 0.619, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07674, 0.1724, 0.3764], [0.08019, 0.1789, 0.4954]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.269, "peak_gpu_mib": 2262.4, "seconds": 35.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/dense/scored-fps+two-vector-baseline+scale-balanced+depth-knn+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=sparse-unet14", "proposal=scored-fps", "view=two-vector-baseline", "assigner=scale-balanced", "grouper=depth-knn", "head=operation-objectness"], "variant": "dense", "verdict": "runs", "judge": 2, "config_hash": "a79b3d99f4c2322a", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=sparse-unet14 --set proposal=scored-fps --set view=two-vector-baseline --set assigner=scale-balanced --set grouper=depth-knn --set head=operation-objectness -o stage-set__dense__scored-fps+two-vector-baseline+scale-balanced+depth-knn+operation-objectness.yaml", "fitted": ["out_channels: 256", "data.train.dataset.graspness"], "probe": "grasppanda probe stage-set__dense__scored-fps+two-vector-baseline+scale-balanced+depth-knn+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 14879385, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7759, 0.645], "loss/graspness": [2.47, 0.3418], "loss/view": [0.942, 0.3295], "loss/view_frame": [1.671, 0.0], "loss/score": [0.05515, 0.0243], "loss/angle": [0.5047, 0.4544], "loss/width": [0.702, 0.1245], "loss/tolerance": [1.269, 0.2693], "loss": [8.389, 2.189]}, "trend": {"loss/objectness": [0.7759, 0.6586, 0.151], "loss/graspness": [2.47, 0.3461, 0.86], "loss/view": [0.942, 0.3763, 0.601], "loss/view_frame": [1.671, 1.317, 0.212], "loss/score": [0.05515, 0.01973, 0.642], "loss/angle": [0.5047, 0.4405, 0.127], "loss/width": [0.702, 0.1367, 0.805], "loss/tolerance": [1.269, 0.3081, 0.757], "loss": [8.389, 2.843, 0.661]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.493, "mean": 0.545, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-13.33, 0.05203, 154.0], [-34.39, 0.03767, 115.1]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.588, "peak_gpu_mib": 1949.1, "seconds": 31.8}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+direction-regression+scale-balanced+depth-ball+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=direction-regression", "assigner=scale-balanced", "grouper=depth-ball", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "3db1a7c842686170", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=direction-regression --set assigner=scale-balanced --set grouper=depth-ball --set head=operation -o stage-set__subsampled__SubsampledSeeds+direction-regression+scale-balanced+depth-ball+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+direction-regression+scale-balanced+depth-ball+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 856499, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.235, 0.3434], "loss/score": [0.02486, 0.03074], "loss/angle": [0.5386, 0.4335], "loss/width": [0.6055, 0.1942], "loss/tolerance": [1.055, 0.3269], "loss": [3.459, 1.329]}, "trend": {"loss/view": [1.235, 0.4093, 0.669], "loss/score": [0.02486, 0.02806, -0.129], "loss/angle": [0.5386, 0.4138, 0.232], "loss/width": [0.6055, 0.1992, 0.671], "loss/tolerance": [1.055, 0.4016, 0.619], "loss": [3.459, 1.452, 0.58]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-14.55, 0.01394, 15.32], [-12.96, 0.2674, 13.7]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.277, "peak_gpu_mib": 2477.9, "seconds": 13.0}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+direction-vmf+compact-label+cylinder-vector-attention+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=direction-vmf", "assigner=compact-label", "grouper=cylinder-vector-attention", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "94e26fd28f6f25dc", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=direction-vmf --set assigner=compact-label --set grouper=cylinder-vector-attention --set head=economic -o stage-set__subsampled__SubsampledSeeds+direction-vmf+compact-label+cylinder-vector-attention+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+direction-vmf+compact-label+cylinder-vector-attention+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1320733, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.609, 1.915], "loss/angle": [3.961, 1.794], "loss/depth": [2.004, 0.8497], "loss/score": [1.282, 1.54], "loss/width": [0.8784, 0.6397], "loss": [10.73, 6.738]}, "trend": {"loss/view": [2.609, 1.955, 0.251], "loss/angle": [3.961, 1.8, 0.546], "loss/depth": [2.004, 0.8961, 0.553], "loss/score": [1.282, 1.536, -0.198], "loss/width": [0.8784, 0.5657, 0.356], "loss": [10.73, 6.752, 0.371]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 4], "score_quantiles": [[-1.633, -1.384, -0.6127], [-1.699, -1.352, -0.7304]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.12, "peak_gpu_mib": 2861.5, "seconds": 12.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+healpix-192+nearest-label-object-seeds+depth-pool+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=healpix-192", "assigner=nearest-label-object-seeds", "grouper=depth-pool", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "07a17c58f6be2343", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=healpix-192 --set assigner=nearest-label-object-seeds --set grouper=depth-pool --set head=swad -o stage-set__subsampled__SubsampledSeeds+healpix-192+nearest-label-object-seeds+depth-pool+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+healpix-192+nearest-label-object-seeds+depth-pool+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 889504, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.93, 0.4675], "loss/score": [0.7994, 0.0531], "loss/width": [2.446, 0.2645], "loss": [5.175, 0.7851]}, "trend": {"loss/view": [1.93, 0.4752, 0.754], "loss/score": [0.7994, 0.04936, 0.938], "loss/width": [2.446, 0.2669, 0.891], "loss": [5.175, 0.7914, 0.847]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.1224, 0.1369, 0.1522], [0.1225, 0.1369, 0.1574]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.319, "peak_gpu_mib": 7898.8, "seconds": 17.0}, "run": "2026-10-16@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+healpix-768+scale-balanced+depth-box+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=healpix-768", "assigner=scale-balanced", "grouper=depth-box", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "9022b79891c9cafd", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=healpix-768 --set assigner=scale-balanced --set grouper=depth-box --set head=operation -o stage-set__subsampled__SubsampledSeeds+healpix-768+scale-balanced+depth-box+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+healpix-768+scale-balanced+depth-box+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1118896, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.718, 0.278], "loss/score": [0.05458, 0.02526], "loss/angle": [0.5126, 0.4478], "loss/width": [0.5025, 0.2608], "loss/tolerance": [1.049, 0.4876], "loss": [3.837, 1.499]}, "trend": {"loss/view": [1.718, 0.2403, 0.86], "loss/score": [0.05458, 0.0313, 0.427], "loss/angle": [0.5126, 0.4595, 0.104], "loss/width": [0.5025, 0.2847, 0.433], "loss/tolerance": [1.049, 0.6336, 0.396], "loss": [3.837, 1.65, 0.57]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-22.72, -0.3842, 23.4], [-56.79, -0.6159, 23.5]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.281, "peak_gpu_mib": 2486.8, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+icosphere-162+compact-label+knn+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=icosphere-162", "assigner=compact-label", "grouper=knn", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "fd860a68b96c758a", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=icosphere-162 --set assigner=compact-label --set grouper=knn --set head=economic -o stage-set__subsampled__SubsampledSeeds+icosphere-162+compact-label+knn+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+icosphere-162+compact-label+knn+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 966331, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.379, 0.8331], "loss/angle": [2.638, 0.8206], "loss/depth": [2.104, 0.4629], "loss/score": [1.784, 0.7415], "loss/width": [1.209, 0.7929], "loss": [10.11, 3.651]}, "trend": {"loss/view": [2.379, 0.8321, 0.65], "loss/angle": [2.638, 0.8356, 0.683], "loss/depth": [2.104, 0.4498, 0.786], "loss/score": [1.784, 0.6985, 0.608], "loss/width": [1.209, 0.7906, 0.346], "loss": [10.11, 3.607, 0.643]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-2.849, -2.349, -1.781], [-2.742, -1.74, -0.6874]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.209, "peak_gpu_mib": 2506.9, "seconds": 16.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+icosphere-642+nearest-label-object-seeds+multi-scale-linear+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=icosphere-642", "assigner=nearest-label-object-seeds", "grouper=multi-scale-linear", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "699fd56b3dba7831", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=icosphere-642 --set assigner=nearest-label-object-seeds --set grouper=multi-scale-linear --set head=swad -o stage-set__subsampled__SubsampledSeeds+icosphere-642+nearest-label-object-seeds+multi-scale-linear+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+icosphere-642+nearest-label-object-seeds+multi-scale-linear+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1756962, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.89, 0.4384], "loss/score": [0.2012, 0.06635], "loss/width": [2.511, 0.1972], "loss": [4.602, 0.7019]}, "trend": {"loss/view": [1.89, 0.4402, 0.767], "loss/score": [0.2012, 0.06902, 0.657], "loss/width": [2.511, 0.1945, 0.923], "loss": [4.602, 0.7037, 0.847]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.09548, 0.1527, 0.2796], [0.0723, 0.1361, 0.2314]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.344, "peak_gpu_mib": 4250.8, "seconds": 16.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+lattice-angular-cost+scale-balanced+depth-cylinder-attentive+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=lattice-angular-cost", "assigner=scale-balanced", "grouper=depth-cylinder-attentive", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "7a9a9d8f567c67bb", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=lattice-angular-cost --set assigner=scale-balanced --set grouper=depth-cylinder-attentive --set head=operation -o stage-set__subsampled__SubsampledSeeds+lattice-angular-cost+scale-balanced+depth-cylinder-attentive+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+lattice-angular-cost+scale-balanced+depth-cylinder-attentive+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1064220, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [5.746, 5.103], "loss/view_angular": [0.5026, 0.3552], "loss/score": [0.07021, 0.02887], "loss/angle": [0.5193, 0.4706], "loss/width": [0.5872, 0.2321], "loss/tolerance": [0.9269, 0.4468], "loss": [8.352, 6.637]}, "trend": {"loss/view": [5.746, 5.218, 0.092], "loss/view_angular": [0.5026, 0.3872, 0.23], "loss/score": [0.07021, 0.03295, 0.531], "loss/angle": [0.5193, 0.4487, 0.136], "loss/width": [0.5872, 0.253, 0.569], "loss/tolerance": [0.9269, 0.566, 0.389], "loss": [8.352, 6.906, 0.173]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-93.32, -2.714, 195.2], [-85.42, -1.018, 162.0]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.382, "peak_gpu_mib": 3637.4, "seconds": 15.7}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+lattice-best-view+compact-label+pyg-edge-conv+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=lattice-best-view", "assigner=compact-label", "grouper=pyg-edge-conv", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "20c38407b1679c79", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=lattice-best-view --set assigner=compact-label --set grouper=pyg-edge-conv --set head=economic -o stage-set__subsampled__SubsampledSeeds+lattice-best-view+compact-label+pyg-edge-conv+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+lattice-best-view+compact-label+pyg-edge-conv+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1068613, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [5.741, 5.017], "loss/angle": [2.342, 1.917], "loss/depth": [1.915, 0.8566], "loss/score": [1.79, 1.555], "loss/width": [1.938, 0.6803], "loss": [13.73, 10.03]}, "trend": {"loss/view": [5.741, 5.133, 0.106], "loss/angle": [2.342, 1.84, 0.214], "loss/depth": [1.915, 0.8847, 0.538], "loss/score": [1.79, 1.525, 0.148], "loss/width": [1.938, 0.7288, 0.624], "loss": [13.73, 10.11, 0.263]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.098, "mean": 0.108, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-1.069, -0.3473, 0.3987], [-0.9437, -0.3232, 0.4579]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.175, "peak_gpu_mib": 2565.7, "seconds": 15.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+lattice-fibonacci-120+nearest-label-object-seeds+pyg-gatv2-conv+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=lattice-fibonacci-120", "assigner=nearest-label-object-seeds", "grouper=pyg-gatv2-conv", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "2e6cad959f7fa77a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=lattice-fibonacci-120 --set assigner=nearest-label-object-seeds --set grouper=pyg-gatv2-conv --set head=swad -o stage-set__subsampled__SubsampledSeeds+lattice-fibonacci-120+nearest-label-object-seeds+pyg-gatv2-conv+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+lattice-fibonacci-120+nearest-label-object-seeds+pyg-gatv2-conv+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1360152, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.149, 0.5203], "loss/score": [0.1949, 0.05775], "loss/width": [2.359, 0.2487], "loss": [4.702, 0.8267]}, "trend": {"loss/view": [2.149, 0.5209, 0.758], "loss/score": [0.1949, 0.06192, 0.682], "loss/width": [2.359, 0.294, 0.875], "loss": [4.702, 0.8768, 0.814]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.0373, 0.09575, 0.1878], [0.0625, 0.1112, 0.2859]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.225, "peak_gpu_mib": 4209.8, "seconds": 16.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+lattice-hemisphere-60+scale-balanced+depth-cylinder-projection+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=lattice-hemisphere-60", "assigner=scale-balanced", "grouper=depth-cylinder-projection", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "d3fb0224fb423f95", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=lattice-hemisphere-60 --set assigner=scale-balanced --set grouper=depth-cylinder-projection --set head=operation -o stage-set__subsampled__SubsampledSeeds+lattice-hemisphere-60+scale-balanced+depth-cylinder-projection+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+lattice-hemisphere-60+scale-balanced+depth-cylinder-projection+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1002732, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [2.14, 0.6041], "loss/score": [0.05186, 0.02679], "loss/angle": [0.5069, 0.4669], "loss/width": [0.5046, 0.1363], "loss/tolerance": [1.11, 0.4091], "loss": [4.313, 1.643]}, "trend": {"loss/view": [2.14, 0.491, 0.771], "loss/score": [0.05186, 0.02561, 0.506], "loss/angle": [0.5069, 0.4629, 0.087], "loss/width": [0.5046, 0.1586, 0.686], "loss/tolerance": [1.11, 0.4194, 0.622], "loss": [4.313, 1.558, 0.639]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-19.82, -1.419, 37.48], [-19.6, -1.526, 40.07]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.288, "peak_gpu_mib": 3967.4, "seconds": 14.0}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+lattice-soft-argmax+compact-label+pyg-point-transformer-conv+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=lattice-soft-argmax", "assigner=compact-label", "grouper=pyg-point-transformer-conv", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "a613be7fca3a7d68", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=lattice-soft-argmax --set assigner=compact-label --set grouper=pyg-point-transformer-conv --set head=economic -o stage-set__subsampled__SubsampledSeeds+lattice-soft-argmax+compact-label+pyg-point-transformer-conv+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+lattice-soft-argmax+compact-label+pyg-point-transformer-conv+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1067077, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.203, 0.6699], "loss/angle": [3.171, 0.8332], "loss/depth": [1.331, 0.3559], "loss/score": [2.008, 0.6859], "loss/width": [2.307, 0.7432], "loss": [11.02, 3.288]}, "trend": {"loss/view": [2.203, 0.6875, 0.688], "loss/angle": [3.171, 0.725, 0.771], "loss/depth": [1.331, 0.3815, 0.713], "loss/score": [2.008, 0.5961, 0.703], "loss/width": [2.307, 0.8274, 0.641], "loss": [11.02, 3.217, 0.708]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-3.349, -2.848, -2.195], [-3.173, -2.696, -2.121]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.157, "peak_gpu_mib": 2734.3, "seconds": 13.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+lattice-topk+nearest-label-object-seeds+pyg-pointnet-conv+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=lattice-topk", "assigner=nearest-label-object-seeds", "grouper=pyg-pointnet-conv", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "9a91ddeb47261f0e", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=lattice-topk --set assigner=nearest-label-object-seeds --set grouper=pyg-pointnet-conv --set head=swad -o stage-set__subsampled__SubsampledSeeds+lattice-topk+nearest-label-object-seeds+pyg-pointnet-conv+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+lattice-topk+nearest-label-object-seeds+pyg-pointnet-conv+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1008588, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.948, 0.4453], "loss/score": [0.2847, 0.07142], "loss/width": [2.36, 0.2109], "loss": [4.592, 0.7276]}, "trend": {"loss/view": [1.948, 0.448, 0.77], "loss/score": [0.2847, 0.08142, 0.714], "loss/width": [2.36, 0.2666, 0.887], "loss": [4.592, 0.796, 0.827]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.05776, 0.09971, 0.1633], [0.05781, 0.09241, 0.2059]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.178, "peak_gpu_mib": 3119.2, "seconds": 14.8}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+lattice-view+scale-balanced+depth-embed+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=lattice-view", "assigner=scale-balanced", "grouper=depth-embed", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "11172922aa470aec", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=lattice-view --set assigner=scale-balanced --set grouper=depth-embed --set head=operation -o stage-set__subsampled__SubsampledSeeds+lattice-view+scale-balanced+depth-embed+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+lattice-view+scale-balanced+depth-embed+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1090460, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.733, 0.4255], "loss/score": [0.07525, 0.02623], "loss/angle": [0.5095, 0.4892], "loss/width": [0.5686, 0.3009], "loss/tolerance": [1.268, 0.6779], "loss": [4.154, 1.92]}, "trend": {"loss/view": [1.733, 0.4164, 0.76], "loss/score": [0.07525, 0.03039, 0.596], "loss/angle": [0.5095, 0.4783, 0.061], "loss/width": [0.5686, 0.2976, 0.477], "loss/tolerance": [1.268, 0.6966, 0.45], "loss": [4.154, 1.919, 0.538]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-65.01, -0.2398, 88.38], [-34.29, -4.197, 67.18]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.259, "peak_gpu_mib": 1690.2, "seconds": 12.8}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+depth-cylinder-multi-scale+operation-objectness", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=depth-cylinder-multi-scale", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "e231a49b0bc205c4", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=depth-cylinder-multi-scale --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+depth-cylinder-multi-scale+operation-objectness.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+depth-cylinder-multi-scale+operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [2, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3661], "loss/view": [0.2826, 0.138], "loss/score": [0.03994, 0.02048], "loss/angle": [0.5503, 0.4404], "loss/width": [0.5901, 0.1345], "loss/tolerance": [1.238, 0.2849], "loss": [3.576, 1.384]}, "trend": {"loss/objectness": [0.8755, 0.3411, 0.61], "loss/view": [0.2826, 0.1473, 0.479], "loss/score": [0.03994, 0.01704, 0.573], "loss/angle": [0.5503, 0.434, 0.211], "loss/width": [0.5901, 0.1415, 0.76], "loss/tolerance": [1.238, 0.3089, 0.75], "loss": [3.576, 1.39, 0.611]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-2.178, -1.237, -0.2961], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.542, "peak_gpu_mib": 9424.9, "seconds": 18.0}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+depth-cylinder-multi-scale+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=depth-cylinder-multi-scale", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "3d268d2b4db0797a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=depth-cylinder-multi-scale --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+depth-cylinder-multi-scale+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+depth-cylinder-multi-scale+operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [9, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3721], "loss/view": [0.2826, 0.1389], "loss/score": [0.0608, 0.0302], "loss/angle": [0.5503, 0.4313], "loss/width": [0.5901, 0.127], "loss/tolerance": [1.238, 0.2732], "loss": [3.597, 1.373]}, "trend": {"loss/objectness": [0.8755, 0.3399, 0.612], "loss/view": [0.2826, 0.148, 0.476], "loss/score": [0.0608, 0.02934, 0.517], "loss/angle": [0.5503, 0.4117, 0.252], "loss/width": [0.5901, 0.133, 0.775], "loss/tolerance": [1.238, 0.3265, 0.736], "loss": [3.597, 1.389, 0.614]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-2.742, 1.239, 4.409], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.581, "peak_gpu_mib": 9424.9, "seconds": 18.8}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+multi-scale+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=multi-scale", "head=swad"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "61c0581c5782403f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=multi-scale --set head=swad -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+multi-scale+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+multi-scale+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4690549, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.8657, 0.329], "loss/view": [0.2701, 0.1175], "loss/score": [0.2155, 0.02315], "loss/width": [2.109, 0.1209], "loss": [3.46, 0.5906]}, "trend": {"loss/objectness": [0.8657, 0.3319, 0.617], "loss/view": [0.2701, 0.1253, 0.536], "loss/score": [0.2155, 0.02543, 0.882], "loss/width": [2.109, 0.1232, 0.942], "loss": [3.46, 0.6058, 0.825]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.343, "peak_gpu_mib": 8177.2, "seconds": 17.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+CylinderGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=CylinderGroup", "head=swad"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "586243799173f0c4", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=CylinderGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+CylinderGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+CylinderGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1101212, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.8657, 0.3201], "loss/view": [0.2701, 0.1163], "loss/score": [0.7229, 0.09688], "loss/width": [2.518, 0.1643], "loss": [4.376, 0.6976]}, "trend": {"loss/objectness": [0.8657, 0.33, 0.619], "loss/view": [0.2701, 0.1263, 0.533], "loss/score": [0.7229, 0.1106, 0.847], "loss/width": [2.518, 0.1834, 0.927], "loss": [4.376, 0.7503, 0.829]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.165, "peak_gpu_mib": 3696.3, "seconds": 13.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+CylinderInteractionGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=CylinderInteractionGroup", "head=swad"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "4731479200300da3", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=CylinderInteractionGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1503954, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.8657, 0.3563], "loss/view": [0.2701, 0.1234], "loss/score": [0.9426, 0.08991], "loss/width": [3.223, 0.1676], "loss": [5.302, 0.7371]}, "trend": {"loss/objectness": [0.8657, 0.3438, 0.603], "loss/view": [0.2701, 0.1314, 0.513], "loss/score": [0.9426, 0.09978, 0.894], "loss/width": [3.223, 0.1782, 0.945], "loss": [5.302, 0.7532, 0.858]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.185, "peak_gpu_mib": 4420.8, "seconds": 13.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=DepthCylinderGroup", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "16d47f695218ae93", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=DepthCylinderGroup --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3552], "loss/view": [0.2826, 0.1232], "loss/score": [0.03654, 0.02306], "loss/angle": [0.53, 0.4395], "loss/width": [0.6388, 0.1542], "loss/tolerance": [1.188, 0.3871], "loss": [3.551, 1.482]}, "trend": {"loss/objectness": [0.8755, 0.3196, 0.635], "loss/view": [0.2826, 0.131, 0.537], "loss/score": [0.03654, 0.01856, 0.492], "loss/angle": [0.53, 0.4369, 0.176], "loss/width": [0.6388, 0.1502, 0.765], "loss/tolerance": [1.188, 0.4376, 0.632], "loss": [3.551, 1.494, 0.579]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[4.145, 4.145, 4.145], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.306, "peak_gpu_mib": 3972.1, "seconds": 13.5}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+DepthCylinderGroup+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=nearest-label-object-seeds", "grouper=DepthCylinderGroup", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "d0fb005d3b7f850f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=nearest-label-object-seeds --set grouper=DepthCylinderGroup --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+nearest-label-object-seeds+DepthCylinderGroup+operation.yaml", "probed_as": "stage/GraspNet-baseline/view/objectness-view-graspable", "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+scale-balanced+depth-cylinder-multi-scale+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=scale-balanced", "grouper=depth-cylinder-multi-scale", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "7cd1649889c1629f", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=scale-balanced --set grouper=depth-cylinder-multi-scale --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+scale-balanced+depth-cylinder-multi-scale+operation-objectness.yaml", "probed_as": "encoder/Scale-Balanced-Grasp/PointNet2", "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+scale-balanced+depth-cylinder-multi-scale+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=scale-balanced", "grouper=depth-cylinder-multi-scale", "head=operation"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "058bee3e3854f0a4", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=scale-balanced --set grouper=depth-cylinder-multi-scale --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+scale-balanced+depth-cylinder-multi-scale+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+scale-balanced+depth-cylinder-multi-scale+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3783], "loss/view": [0.2787, 0.1325], "loss/score": [0.06378, 0.04181], "loss/angle": [0.5488, 0.4361], "loss/width": [0.5734, 0.1334], "loss/tolerance": [1.253, 0.3274], "loss": [3.593, 1.45]}, "trend": {"loss/objectness": [0.8755, 0.3389, 0.613], "loss/view": [0.2787, 0.1452, 0.479], "loss/score": [0.06378, 0.03148, 0.506], "loss/angle": [0.5488, 0.4171, 0.24], "loss/width": [0.5734, 0.1484, 0.741], "loss/tolerance": [1.253, 0.3327, 0.734], "loss": [3.593, 1.414, 0.607]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.649, "peak_gpu_mib": 9424.9, "seconds": 19.2}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+scale-balanced+DepthCylinderGroup+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=scale-balanced", "grouper=DepthCylinderGroup", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "4a3458b1816d25d6", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=scale-balanced --set grouper=DepthCylinderGroup --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+scale-balanced+DepthCylinderGroup+operation-objectness.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+scale-balanced+DepthCylinderGroup+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3377], "loss/view": [0.2787, 0.1185], "loss/score": [0.03555, 0.02139], "loss/angle": [0.5252, 0.4485], "loss/width": [0.6222, 0.1607], "loss/tolerance": [1.193, 0.3906], "loss": [3.53, 1.477]}, "trend": {"loss/objectness": [0.8755, 0.3194, 0.635], "loss/view": [0.2787, 0.1256, 0.549], "loss/score": [0.03555, 0.01886, 0.469], "loss/angle": [0.5252, 0.448, 0.147], "loss/width": [0.6222, 0.1742, 0.72], "loss/tolerance": [1.193, 0.4743, 0.602], "loss": [3.53, 1.56, 0.558]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.35, "peak_gpu_mib": 3972.1, "seconds": 15.1}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view-graspable+scale-balanced+DepthCylinderGroup+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view-graspable", "assigner=scale-balanced", "grouper=DepthCylinderGroup", "head=operation"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "b8e8219e17fce8f3", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view-graspable --set assigner=scale-balanced --set grouper=DepthCylinderGroup --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+scale-balanced+DepthCylinderGroup+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view-graspable+scale-balanced+DepthCylinderGroup+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.8755, 0.3447], "loss/view": [0.2787, 0.1146], "loss/score": [0.05829, 0.04004], "loss/angle": [0.5252, 0.444], "loss/width": [0.6222, 0.1613], "loss/tolerance": [1.193, 0.3919], "loss": [3.553, 1.497]}, "trend": {"loss/objectness": [0.8755, 0.3228, 0.631], "loss/view": [0.2787, 0.1259, 0.548], "loss/score": [0.05829, 0.02894, 0.503], "loss/angle": [0.5252, 0.4501, 0.143], "loss/width": [0.6222, 0.1651, 0.735], "loss/tolerance": [1.193, 0.4143, 0.653], "loss": [3.553, 1.507, 0.576]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.384, "peak_gpu_mib": 3972.1, "seconds": 15.4}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation-objectness", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=depth-cylinder-multi-scale", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "57546f3c199cd6c9", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=depth-cylinder-multi-scale --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation-objectness.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation-objectness.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [625, 482], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6026], "loss/view": [0.2001, 0.08449], "loss/score": [0.03994, 0.02587], "loss/angle": [0.5503, 0.454], "loss/width": [0.5901, 0.1319], "loss/tolerance": [1.238, 0.3878], "loss": [3.38, 1.687]}, "trend": {"loss/objectness": [0.7623, 0.6051, 0.206], "loss/view": [0.2001, 0.08471, 0.577], "loss/score": [0.03994, 0.02066, 0.483], "loss/angle": [0.5503, 0.4461, 0.189], "loss/width": [0.5901, 0.1401, 0.763], "loss/tolerance": [1.238, 0.3546, 0.713], "loss": [3.38, 1.651, 0.512]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-21.67, 3.417, 25.82], [-24.7, 0.9645, 31.37]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.562, "peak_gpu_mib": 9424.9, "seconds": 18.5}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=depth-cylinder-multi-scale", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "76ad1efc4e3c18b3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=depth-cylinder-multi-scale --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation.yaml", "probed_as": "stage/GraspNet-baseline/grouper/depth-cylinder-multi-scale", "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+nearest-label-object-seeds+multi-scale+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=multi-scale", "head=swad"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "78c4518619b8dd33", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=multi-scale --set head=swad -o stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+multi-scale+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+multi-scale+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4690549, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7522, 0.5695], "loss/view": [0.198, 0.07581], "loss/score": [0.2155, 0.01766], "loss/width": [2.109, 0.1395], "loss": [3.275, 0.8025]}, "trend": {"loss/objectness": [0.7522, 0.5805, 0.228], "loss/view": [0.198, 0.08239, 0.584], "loss/score": [0.2155, 0.01725, 0.92], "loss/width": [2.109, 0.1389, 0.934], "loss": [3.275, 0.819, 0.75]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.402, "peak_gpu_mib": 8177.2, "seconds": 18.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+nearest-label-object-seeds+CylinderGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=CylinderGroup", "head=swad"], "variant": "subsampled", "verdict": "runs-empty", "judge": 2, "config_hash": "87996f53c9e01c42", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=CylinderGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+CylinderGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+CylinderGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1101212, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7522, 0.597], "loss/view": [0.198, 0.07677], "loss/score": [0.7229, 0.09226], "loss/width": [2.518, 0.2237], "loss": [4.191, 0.9897]}, "trend": {"loss/objectness": [0.7522, 0.5938, 0.211], "loss/view": [0.198, 0.08355, 0.578], "loss/score": [0.7229, 0.1118, 0.845], "loss/width": [2.518, 0.2334, 0.907], "loss": [4.191, 1.023, 0.756]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.201, "peak_gpu_mib": 3696.3, "seconds": 14.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+nearest-label-object-seeds+CylinderInteractionGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=CylinderInteractionGroup", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "e411a28d1e1e2e3f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=CylinderInteractionGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1503954, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 1], "frames": 8, "losses": {"loss/objectness": [0.7522, 0.5859], "loss/view": [0.198, 0.0802], "loss/score": [0.9426, 0.09189], "loss/width": [3.223, 0.1805], "loss": [5.116, 0.9385]}, "trend": {"loss/objectness": [0.7522, 0.61, 0.189], "loss/view": [0.198, 0.08504, 0.57], "loss/score": [0.9426, 0.1013, 0.893], "loss/width": [3.223, 0.1932, 0.94], "loss": [5.116, 0.9895, 0.807]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [null, [0.2192, 0.2192, 0.2192]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.259, "peak_gpu_mib": 4420.8, "seconds": 14.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=DepthCylinderGroup", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "ea56047c6b0f66e9", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=DepthCylinderGroup --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+DepthCylinderGroup+operation-objectness.yaml", "probed_as": "stage/GraspNet-baseline/head/operation-objectness", "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+nearest-label-object-seeds+DepthCylinderGroup+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=nearest-label-object-seeds", "grouper=DepthCylinderGroup", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "97137012bcdac2ca", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=nearest-label-object-seeds --set grouper=DepthCylinderGroup --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view+nearest-label-object-seeds+DepthCylinderGroup+operation.yaml", "probed_as": "reference/GraspNet-baseline", "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+scale-balanced+depth-cylinder-multi-scale+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=scale-balanced", "grouper=depth-cylinder-multi-scale", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "3cc46cd38247b7a1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=scale-balanced --set grouper=depth-cylinder-multi-scale --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+depth-cylinder-multi-scale+operation-objectness.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+depth-cylinder-multi-scale+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [410, 392], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5768], "loss/view": [0.1857, 0.07145], "loss/score": [0.03878, 0.02004], "loss/angle": [0.5488, 0.4558], "loss/width": [0.5734, 0.1763], "loss/tolerance": [1.253, 0.4273], "loss": [3.362, 1.728]}, "trend": {"loss/objectness": [0.7623, 0.6134, 0.195], "loss/view": [0.1857, 0.07065, 0.62], "loss/score": [0.03878, 0.02222, 0.427], "loss/angle": [0.5488, 0.458, 0.166], "loss/width": [0.5734, 0.1936, 0.662], "loss/tolerance": [1.253, 0.4886, 0.61], "loss": [3.362, 1.846, 0.451]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-25.24, 0.2215, 13.99], [-16.03, -0.09301, 5.815]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.621, "peak_gpu_mib": 9424.9, "seconds": 20.4}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+scale-balanced+depth-cylinder-multi-scale+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=scale-balanced", "grouper=depth-cylinder-multi-scale", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "9b9434bdbbb531d4", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=scale-balanced --set grouper=depth-cylinder-multi-scale --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+depth-cylinder-multi-scale+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+depth-cylinder-multi-scale+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1480300, "iterations": 20, "batch_size": 2, "grasps_per_frame": [330, 289], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5914], "loss/view": [0.1857, 0.07319], "loss/score": [0.06378, 0.03707], "loss/angle": [0.5488, 0.4708], "loss/width": [0.5734, 0.1571], "loss/tolerance": [1.253, 0.3713], "loss": [3.387, 1.701]}, "trend": {"loss/objectness": [0.7623, 0.6139, 0.195], "loss/view": [0.1857, 0.07199, 0.612], "loss/score": [0.06378, 0.03207, 0.497], "loss/angle": [0.5488, 0.4561, 0.169], "loss/width": [0.5734, 0.2052, 0.642], "loss/tolerance": [1.253, 0.4238, 0.662], "loss": [3.387, 1.803, 0.468]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 4], "score_quantiles": [[-13.33, 1.506, 32.63], [-20.32, 1.85, 29.65]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.577, "peak_gpu_mib": 9424.9, "seconds": 21.3}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+scale-balanced+DepthCylinderGroup+operation-objectness", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=scale-balanced", "grouper=DepthCylinderGroup", "head=operation-objectness"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "1e7cd8903146e43d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=scale-balanced --set grouper=DepthCylinderGroup --set head=operation-objectness -o stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+DepthCylinderGroup+operation-objectness.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+DepthCylinderGroup+operation-objectness.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [353, 900], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5684], "loss/view": [0.1857, 0.06403], "loss/score": [0.03555, 0.01866], "loss/angle": [0.5252, 0.4899], "loss/width": [0.6222, 0.2231], "loss/tolerance": [1.193, 0.5825], "loss": [3.324, 1.947]}, "trend": {"loss/objectness": [0.7623, 0.5743, 0.247], "loss/view": [0.1857, 0.0649, 0.65], "loss/score": [0.03555, 0.01743, 0.51], "loss/angle": [0.5252, 0.4817, 0.083], "loss/width": [0.6222, 0.2179, 0.65], "loss/tolerance": [1.193, 0.5161, 0.567], "loss": [3.324, 1.872, 0.437]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-12.68, 0.3985, 12.39], [-17.54, 0.3381, 25.33]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.343, "peak_gpu_mib": 3972.1, "seconds": 14.9}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+objectness-view+scale-balanced+DepthCylinderGroup+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=objectness-view", "assigner=scale-balanced", "grouper=DepthCylinderGroup", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "c6ccefef0f16c07b", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=objectness-view --set assigner=scale-balanced --set grouper=DepthCylinderGroup --set head=operation -o stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+DepthCylinderGroup+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+objectness-view+scale-balanced+DepthCylinderGroup+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [395, 580], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5366], "loss/view": [0.1857, 0.06022], "loss/score": [0.05829, 0.0222], "loss/angle": [0.5252, 0.464], "loss/width": [0.6222, 0.1775], "loss/tolerance": [1.193, 0.7268], "loss": [3.347, 1.987]}, "trend": {"loss/objectness": [0.7623, 0.5666, 0.257], "loss/view": [0.1857, 0.06432, 0.654], "loss/score": [0.05829, 0.02955, 0.493], "loss/angle": [0.5252, 0.4644, 0.116], "loss/width": [0.6222, 0.1912, 0.693], "loss/tolerance": [1.193, 0.598, 0.499], "loss": [3.347, 1.914, 0.428]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-13.38, 1.989, 17.25], [-38.21, 1.297, 18.29]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.333, "peak_gpu_mib": 3972.1, "seconds": 14.1}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+rotation-6d+compact-label+pyg-transformer-conv+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=rotation-6d", "assigner=compact-label", "grouper=pyg-transformer-conv", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "05018b7e1d316b17", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=rotation-6d --set assigner=compact-label --set grouper=pyg-transformer-conv --set head=economic -o stage-set__subsampled__SubsampledSeeds+rotation-6d+compact-label+pyg-transformer-conv+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+rotation-6d+compact-label+pyg-transformer-conv+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1652255, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [0.9707, 0.4346], "loss/view_frame": [1.525, 1.468], "loss/angle": [2.851, 1.839], "loss/depth": [1.517, 0.8221], "loss/score": [2.274, 1.556], "loss/width": [1.809, 0.6601], "loss": [10.95, 6.78]}, "trend": {"loss/view": [0.9707, 0.4336, 0.553], "loss/view_frame": [1.525, 1.516, 0.006], "loss/angle": [2.851, 1.805, 0.367], "loss/depth": [1.517, 0.8592, 0.433], "loss/score": [2.274, 1.549, 0.319], "loss/width": [1.809, 0.6534, 0.639], "loss": [10.95, 6.817, 0.377]}, "flags": {"loss/view_frame": ["flat", "rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.092, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[0.005239, 0.8804, 1.937], [0.6, 1.365, 2.063]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 4340.3, "seconds": 15.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+rotation-9d+nearest-label-object-seeds+roi-aware+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=rotation-9d", "assigner=nearest-label-object-seeds", "grouper=roi-aware", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "eb617cb27c44e92e", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=rotation-9d --set assigner=nearest-label-object-seeds --set grouper=roi-aware --set head=swad -o stage-set__subsampled__SubsampledSeeds+rotation-9d+nearest-label-object-seeds+roi-aware+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+rotation-9d+nearest-label-object-seeds+roi-aware+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1399625, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.005, 0.2705], "loss/view_frame": [1.697, 1.239], "loss/score": [0.2217, 0.06767], "loss/width": [2.497, 0.1563], "loss": [5.421, 1.733]}, "trend": {"loss/view": [1.005, 0.2762, 0.725], "loss/view_frame": [1.697, 1.142, 0.327], "loss/score": [0.2217, 0.07883, 0.644], "loss/width": [2.497, 0.1629, 0.935], "loss": [5.421, 1.441, 0.734]}, "active": {"loss/view_frame": 18}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.06868, 0.1504, 0.411], [0.07041, 0.1723, 0.4089]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.201, "peak_gpu_mib": 4413.1, "seconds": 14.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+rotation-quaternion+scale-balanced+depth-knn+operation", "group": "stage-set", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=rotation-quaternion", "assigner=scale-balanced", "grouper=depth-knn", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "e364a6b0db5ec826", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=rotation-quaternion --set assigner=scale-balanced --set grouper=depth-knn --set head=operation -o stage-set__subsampled__SubsampledSeeds+rotation-quaternion+scale-balanced+depth-knn+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+rotation-quaternion+scale-balanced+depth-knn+operation.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 922548, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.095, 0.3739], "loss/view_frame": [1.537, 0.0], "loss/score": [0.05877, 0.03698], "loss/angle": [0.5269, 0.4254], "loss/width": [0.5181, 0.2002], "loss/tolerance": [1.158, 0.3054], "loss": [4.893, 1.342]}, "trend": {"loss/view": [1.095, 0.4118, 0.624], "loss/view_frame": [1.537, 1.225, 0.203], "loss/score": [0.05877, 0.02885, 0.509], "loss/angle": [0.5269, 0.428, 0.188], "loss/width": [0.5181, 0.2038, 0.607], "loss/tolerance": [1.158, 0.4029, 0.652], "loss": [4.893, 1.859, 0.62]}, "active": {"loss/view_frame": 15}, "flags": {"loss/view_frame": ["zero_at_end"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-89.43, 0.1625, 175.4], [-18.96, 0.7908, 124.7]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.338, "peak_gpu_mib": 2478.9, "seconds": 14.4}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+compact-label+multi-scale+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=compact-label", "grouper=multi-scale", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "0088e9ea4f7a1c05", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=compact-label --set grouper=multi-scale --set head=economic -o stage-set__subsampled__SubsampledSeeds+template-view+compact-label+multi-scale+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+compact-label+multi-scale+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4591134, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.203, 0.6592], "loss/angle": [2.396, 0.7761], "loss/depth": [1.903, 0.3127], "loss/score": [2.909, 0.6251], "loss/width": [2.687, 0.8382], "loss": [12.1, 3.211]}, "trend": {"loss/view": [2.203, 0.6652, 0.698], "loss/angle": [2.396, 0.7441, 0.689], "loss/depth": [1.903, 0.3515, 0.815], "loss/score": [2.909, 0.6224, 0.786], "loss/width": [2.687, 0.7932, 0.705], "loss": [12.1, 3.176, 0.737]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-1.999, -1.989, -1.979], [-1.999, -1.986, -1.975]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.342, "peak_gpu_mib": 6860.9, "seconds": 17.0}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+compact-label+CylinderGroup+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=compact-label", "grouper=CylinderGroup", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "0d3a060f61b1f7ab", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=compact-label --set grouper=CylinderGroup --set head=economic -o stage-set__subsampled__SubsampledSeeds+template-view+compact-label+CylinderGroup+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+compact-label+CylinderGroup+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1001797, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.203, 0.6824], "loss/angle": [2.992, 0.7789], "loss/depth": [1.746, 0.3552], "loss/score": [1.686, 0.6349], "loss/width": [1.939, 0.7761], "loss": [10.56, 3.228]}, "trend": {"loss/view": [2.203, 0.6991, 0.683], "loss/angle": [2.992, 0.7163, 0.761], "loss/depth": [1.746, 0.3896, 0.777], "loss/score": [1.686, 0.5758, 0.658], "loss/width": [1.939, 0.9415, 0.514], "loss": [10.56, 3.322, 0.686]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-1.942, -1.546, -0.9637], [-1.674, -1.357, -0.8987]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.146, "peak_gpu_mib": 2446.4, "seconds": 15.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+compact-label+CylinderInteractionGroup+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=compact-label", "grouper=CylinderInteractionGroup", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "22e622c58c1dad5c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=compact-label --set grouper=CylinderInteractionGroup --set head=economic -o stage-set__subsampled__SubsampledSeeds+template-view+compact-label+CylinderInteractionGroup+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+compact-label+CylinderInteractionGroup+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1404539, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.203, 0.7157], "loss/angle": [2.518, 0.6478], "loss/depth": [1.282, 0.3636], "loss/score": [2.026, 0.5981], "loss/width": [4.519, 0.6941], "loss": [12.55, 3.019]}, "trend": {"loss/view": [2.203, 0.7515, 0.659], "loss/angle": [2.518, 0.7368, 0.707], "loss/depth": [1.282, 0.4295, 0.665], "loss/score": [2.026, 0.634, 0.687], "loss/width": [4.519, 0.8403, 0.814], "loss": [12.55, 3.392, 0.73]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.208, -1.846, -1.229], [-2.386, -1.763, -1.112]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.369, "peak_gpu_mib": 3169.3, "seconds": 17.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=depth-cylinder-multi-scale", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "15750b6082b877b4", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=depth-cylinder-multi-scale --set head=operation -o stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+depth-cylinder-multi-scale+operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1387164, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.925, 0.4588], "loss/score": [0.07854, 0.02707], "loss/angle": [0.5189, 0.4629], "loss/width": [0.466, 0.1541], "loss/tolerance": [1.006, 0.3577], "loss": [3.994, 1.461]}, "trend": {"loss/view": [1.925, 0.4258, 0.779], "loss/score": [0.07854, 0.0268, 0.659], "loss/angle": [0.5189, 0.4537, 0.126], "loss/width": [0.466, 0.164, 0.648], "loss/tolerance": [1.006, 0.3679, 0.634], "loss": [3.994, 1.438, 0.64]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-17.65, 0.5063, 34.22], [-17.13, 0.25, 30.06]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.558, "peak_gpu_mib": 9414.7, "seconds": 19.1}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+nearest-label-object-seeds+multi-scale+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=multi-scale", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "5eab62a40496600b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=multi-scale --set head=swad -o stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+multi-scale+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+multi-scale+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4597413, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.948, 0.4416], "loss/score": [0.1912, 0.0177], "loss/width": [2.282, 0.1929], "loss": [4.421, 0.6522]}, "trend": {"loss/view": [1.948, 0.4432, 0.772], "loss/score": [0.1912, 0.01717, 0.91], "loss/width": [2.282, 0.1589, 0.93], "loss": [4.421, 0.6193, 0.86]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.07682, 0.08364, 0.09332], [0.07688, 0.08503, 0.09359]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.465, "peak_gpu_mib": 7723.1, "seconds": 19.4}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+nearest-label-object-seeds+CylinderGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=CylinderGroup", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "3ec49be4205df837", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=CylinderGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+CylinderGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+CylinderGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1008076, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.948, 0.4443], "loss/score": [0.6228, 0.07818], "loss/width": [2.171, 0.1979], "loss": [4.742, 0.7204]}, "trend": {"loss/view": [1.948, 0.4463, 0.771], "loss/score": [0.6228, 0.0841, 0.865], "loss/width": [2.171, 0.2457, 0.887], "loss": [4.742, 0.7761, 0.836]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.1103, 0.221, 0.389], [0.1226, 0.214, 0.4322]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.275, "peak_gpu_mib": 3242.0, "seconds": 15.2}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+nearest-label-object-seeds+CylinderInteractionGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=CylinderInteractionGroup", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "aaceea2fdcc1d0f5", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=CylinderInteractionGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+CylinderInteractionGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1410818, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.948, 0.4476], "loss/score": [0.8955, 0.08799], "loss/width": [2.785, 0.2236], "loss": [5.628, 0.7593]}, "trend": {"loss/view": [1.948, 0.4494, 0.769], "loss/score": [0.8955, 0.1006, 0.888], "loss/width": [2.785, 0.2173, 0.922], "loss": [5.628, 0.7673, 0.864]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[0.1139, 0.2165, 0.3812], [0.1266, 0.228, 0.4487]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.242, "peak_gpu_mib": 3965.4, "seconds": 15.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=nearest-label-object-seeds", "grouper=DepthCylinderGroup", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "d91822c87857b596", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=nearest-label-object-seeds --set grouper=DepthCylinderGroup --set head=operation -o stage-set__subsampled__SubsampledSeeds+template-view+nearest-label-object-seeds+DepthCylinderGroup+operation.yaml", "probed_as": "stage/GraspNet-baseline/view/template-view", "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+NearestLabelAssigner+depth-cylinder-multi-scale+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=NearestLabelAssigner", "grouper=depth-cylinder-multi-scale", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "425473662bfefb73", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=NearestLabelAssigner --set grouper=depth-cylinder-multi-scale --set head=operation -o stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+depth-cylinder-multi-scale+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+depth-cylinder-multi-scale+operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1387164, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.84, 0.36], "loss/score": [0.07913, 0.02398], "loss/angle": [0.5104, 0.4668], "loss/width": [0.4793, 0.1541], "loss/tolerance": [1.125, 0.3273], "loss": [4.034, 1.332]}, "trend": {"loss/view": [1.84, 0.3304, 0.82], "loss/score": [0.07913, 0.02986, 0.623], "loss/angle": [0.5104, 0.4426, 0.133], "loss/width": [0.4793, 0.209, 0.564], "loss/tolerance": [1.125, 0.4537, 0.597], "loss": [4.034, 1.466, 0.637]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-52.02, 0.5306, 23.95], [-31.1, 1.572, 36.57]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.571, "peak_gpu_mib": 9414.7, "seconds": 18.1}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+NearestLabelAssigner+multi-scale+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=NearestLabelAssigner", "grouper=multi-scale", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "d245968fe0997692", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=NearestLabelAssigner --set grouper=multi-scale --set head=swad -o stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+multi-scale+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+multi-scale+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4597413, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.844, 0.3114], "loss/score": [0.1894, 0.01656], "loss/width": [2.224, 0.1916], "loss": [4.257, 0.5195]}, "trend": {"loss/view": [1.844, 0.3092, 0.832], "loss/score": [0.1894, 0.01754, 0.907], "loss/width": [2.224, 0.1712, 0.923], "loss": [4.257, 0.498, 0.883]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.05764, 0.06275, 0.07242], [0.05804, 0.06287, 0.07477]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.449, "peak_gpu_mib": 7496.5, "seconds": 19.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+NearestLabelAssigner+CylinderGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=NearestLabelAssigner", "grouper=CylinderGroup", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "c8406141c8cd9857", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=NearestLabelAssigner --set grouper=CylinderGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+CylinderGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+CylinderGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1008076, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.844, 0.3125], "loss/score": [0.5793, 0.07472], "loss/width": [2.172, 0.2055], "loss": [4.595, 0.5927]}, "trend": {"loss/view": [1.844, 0.3105, 0.832], "loss/score": [0.5793, 0.08104, 0.86], "loss/width": [2.172, 0.2557, 0.882], "loss": [4.595, 0.6472, 0.859]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.08926, 0.1723, 0.2876], [0.06452, 0.1623, 0.3361]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.156, "peak_gpu_mib": 3015.9, "seconds": 13.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+NearestLabelAssigner+CylinderInteractionGroup+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=NearestLabelAssigner", "grouper=CylinderInteractionGroup", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "1824e6122cb6101c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=NearestLabelAssigner --set grouper=CylinderInteractionGroup --set head=swad -o stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+CylinderInteractionGroup+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+CylinderInteractionGroup+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1410818, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.844, 0.3139], "loss/score": [0.8646, 0.07849], "loss/width": [2.764, 0.2013], "loss": [5.473, 0.5937]}, "trend": {"loss/view": [1.844, 0.3128, 0.83], "loss/score": [0.8646, 0.09575, 0.889], "loss/width": [2.764, 0.2263, 0.918], "loss": [5.473, 0.6349, 0.884]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[0.1194, 0.2705, 0.4806], [0.1834, 0.2932, 0.4211]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.191, "peak_gpu_mib": 3739.4, "seconds": 13.6}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+template-view+NearestLabelAssigner+DepthCylinderGroup+operation", "group": "stage-set", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=template-view", "assigner=NearestLabelAssigner", "grouper=DepthCylinderGroup", "head=operation"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "7e8597ab641b3365", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=template-view --set assigner=NearestLabelAssigner --set grouper=DepthCylinderGroup --set head=operation -o stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+DepthCylinderGroup+operation.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+template-view+NearestLabelAssigner+DepthCylinderGroup+operation.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932828, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.84, 0.3535], "loss/score": [0.0634, 0.02668], "loss/angle": [0.4848, 0.4637], "loss/width": [0.6533, 0.2333], "loss/tolerance": [1.423, 0.5634], "loss": [4.465, 1.641]}, "trend": {"loss/view": [1.84, 0.3219, 0.825], "loss/score": [0.0634, 0.03111, 0.509], "loss/angle": [0.4848, 0.4361, 0.1], "loss/width": [0.6533, 0.2812, 0.57], "loss/tolerance": [1.423, 0.633, 0.555], "loss": [4.465, 1.703, 0.619]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[-17.49, -0.02282, 14.59], [-22.49, 0.2511, 12.9]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.284, "peak_gpu_mib": 3964.2, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "stage-set/subsampled/SubsampledSeeds+two-vector-baseline+compact-label+ball+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=two-vector-baseline", "assigner=compact-label", "grouper=ball", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "2d0114b2fe0d73b6", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=two-vector-baseline --set assigner=compact-label --set grouper=ball --set head=economic -o stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+ball+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+ball+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 926239, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.19, 0.4543], "loss/view_frame": [1.27, 1.568], "loss/angle": [3.014, 1.921], "loss/depth": [1.751, 0.872], "loss/score": [1.315, 1.527], "loss/width": [0.8081, 0.764], "loss": [9.347, 7.107]}, "trend": {"loss/view": [1.19, 0.4548, 0.618], "loss/view_frame": [1.27, 1.377, -0.084], "loss/angle": [3.014, 1.897, 0.37], "loss/depth": [1.751, 0.9024, 0.485], "loss/score": [1.315, 1.518, -0.154], "loss/width": [0.8081, 0.9394, -0.163], "loss": [9.347, 7.088, 0.242]}, "flags": {"loss/angle": ["rising"], "loss/score": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.097, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-0.6427, -0.04469, 0.4542], [-0.6725, -0.01962, 0.5602]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.114, "peak_gpu_mib": 2504.0, "seconds": 13.3}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+two-vector-baseline+compact-label+cylinder-attentive+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=two-vector-baseline", "assigner=compact-label", "grouper=cylinder-attentive", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "21ddad4c92269cdc", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=two-vector-baseline --set assigner=compact-label --set grouper=cylinder-attentive --set head=economic -o stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+cylinder-attentive+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+cylinder-attentive+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1058079, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.19, 0.4445], "loss/view_frame": [1.27, 1.477], "loss/angle": [3.227, 1.934], "loss/depth": [1.805, 0.8597], "loss/score": [2.432, 1.524], "loss/width": [2.326, 0.733], "loss": [12.25, 6.973]}, "trend": {"loss/view": [1.19, 0.4502, 0.622], "loss/view_frame": [1.27, 1.329, -0.047], "loss/angle": [3.227, 1.962, 0.392], "loss/depth": [1.805, 0.902, 0.5], "loss/score": [2.432, 1.667, 0.314], "loss/width": [2.326, 0.9375, 0.597], "loss": [12.25, 7.249, 0.408]}, "flags": {"loss/view_frame": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.097, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-1.516, -0.5943, -0.1127], [-1.727, -0.6632, 0.01165]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.117, "peak_gpu_mib": 2803.1, "seconds": 12.5}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+two-vector-baseline+compact-label+cylinder-edgeconv+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=two-vector-baseline", "assigner=compact-label", "grouper=cylinder-edgeconv", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "affc1ee515829d13", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=two-vector-baseline --set assigner=compact-label --set grouper=cylinder-edgeconv --set head=economic -o stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+cylinder-edgeconv+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+cylinder-edgeconv+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 991775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.19, 0.4371], "loss/view_frame": [1.27, 1.669], "loss/angle": [2.692, 1.93], "loss/depth": [2.1, 0.8688], "loss/score": [2.21, 1.565], "loss/width": [1.476, 0.6889], "loss": [10.94, 7.159]}, "trend": {"loss/view": [1.19, 0.4487, 0.623], "loss/view_frame": [1.27, 1.453, -0.144], "loss/angle": [2.692, 1.937, 0.28], "loss/depth": [2.1, 0.9328, 0.556], "loss/score": [2.21, 1.547, 0.3], "loss/width": [1.476, 0.6374, 0.568], "loss": [10.94, 6.956, 0.364]}, "flags": {"loss/view_frame": ["rising"], "loss/angle": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.092, "mean": 0.104, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[-0.2628, 0.3268, 0.9095], [-0.4112, 0.09185, 0.6791]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.117, "peak_gpu_mib": 2568.8, "seconds": 12.7}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+two-vector-baseline+compact-label+cylinder-invres+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=two-vector-baseline", "assigner=compact-label", "grouper=cylinder-invres", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "c52639adf80237f3", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=two-vector-baseline --set assigner=compact-label --set grouper=cylinder-invres --set head=economic -o stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+cylinder-invres+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+two-vector-baseline+compact-label+cylinder-invres+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1453087, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.19, 0.4284], "loss/view_frame": [1.27, 1.648], "loss/angle": [2.588, 1.883], "loss/depth": [1.538, 0.8233], "loss/score": [2.512, 1.52], "loss/width": [1.156, 0.6527], "loss": [10.25, 6.955]}, "trend": {"loss/view": [1.19, 0.437, 0.633], "loss/view_frame": [1.27, 1.557, -0.226], "loss/angle": [2.588, 1.887, 0.271], "loss/depth": [1.538, 0.8648, 0.438], "loss/score": [2.512, 1.571, 0.375], "loss/width": [1.156, 0.641, 0.445], "loss": [10.25, 6.958, 0.321]}, "flags": {"loss/view_frame": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.2955, 0.1898, 0.6553], [0.0515, 0.2624, 0.6765]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.185, "peak_gpu_mib": 2516.8, "seconds": 13.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+two-vector-baseline+nearest-label-object-seeds+box+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=two-vector-baseline", "assigner=nearest-label-object-seeds", "grouper=box", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "08ab150b9fc8f572", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=two-vector-baseline --set assigner=nearest-label-object-seeds --set grouper=box --set head=swad -o stage-set__subsampled__SubsampledSeeds+two-vector-baseline+nearest-label-object-seeds+box+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+two-vector-baseline+nearest-label-object-seeds+box+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 932518, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.185, 0.298], "loss/view_frame": [1.547, 1.452], "loss/score": [0.8749, 0.09031], "loss/width": [2.78, 0.1833], "loss": [6.387, 2.024]}, "trend": {"loss/view": [1.185, 0.2887, 0.756], "loss/view_frame": [1.547, 1.321, 0.146], "loss/score": [0.8749, 0.1122, 0.872], "loss/width": [2.78, 0.1888, 0.932], "loss": [6.387, 1.687, 0.736]}, "active": {"loss/view_frame": 18}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [[0.09377, 0.1794, 0.3723], [0.08752, 0.1791, 0.3745]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.199, "peak_gpu_mib": 3304.5, "seconds": 14.1}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+two-vector-baseline+nearest-label-object-seeds+voxel-set-abstraction+swad", "group": "stage-set", "method": "GSNet", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=two-vector-baseline", "assigner=nearest-label-object-seeds", "grouper=voxel-set-abstraction", "head=swad"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "929b7d93c1e6c036", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=two-vector-baseline --set assigner=nearest-label-object-seeds --set grouper=voxel-set-abstraction --set head=swad -o stage-set__subsampled__SubsampledSeeds+two-vector-baseline+nearest-label-object-seeds+voxel-set-abstraction+swad.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+two-vector-baseline+nearest-label-object-seeds+voxel-set-abstraction+swad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 903142, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.185, 0.2802], "loss/view_frame": [1.547, 1.359], "loss/score": [0.2246, 0.07], "loss/width": [1.975, 0.1731], "loss": [4.932, 1.882]}, "trend": {"loss/view": [1.185, 0.2747, 0.768], "loss/view_frame": [1.547, 1.425, 0.079], "loss/score": [0.2246, 0.07742, 0.655], "loss/width": [1.975, 0.1967, 0.9], "loss": [4.932, 1.735, 0.648]}, "active": {"loss/view_frame": 18}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.486, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [[0.08877, 0.1609, 0.3134], [0.07999, 0.1517, 0.458]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.208, "peak_gpu_mib": 3186.4, "seconds": 13.9}, "run": "2026-10-15@98e5310"},
  {"id": "stage-set/subsampled/SubsampledSeeds+two-vector+compact-label+roi-grid+economic", "group": "stage-set", "method": "EconomicGrasp", "sets": ["backbone=pointnet2", "proposal=SubsampledSeeds", "view=two-vector", "assigner=compact-label", "grouper=roi-grid", "head=economic"], "variant": "subsampled", "verdict": "runs", "judge": 2, "config_hash": "4783e5be62782d45", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointnet2 --set proposal=SubsampledSeeds --set view=two-vector --set assigner=compact-label --set grouper=roi-grid --set head=economic -o stage-set__subsampled__SubsampledSeeds+two-vector+compact-label+roi-grid+economic.yaml", "probe": "grasppanda probe stage-set__subsampled__SubsampledSeeds+two-vector+compact-label+roi-grid+economic.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1323231, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [1.249, 0.4585], "loss/view_frame": [1.2, 1.203], "loss/angle": [2.604, 1.778], "loss/depth": [1.61, 0.8112], "loss/score": [1.666, 1.399], "loss/width": [2.478, 0.6934], "loss": [10.81, 6.343]}, "trend": {"loss/view": [1.249, 0.4614, 0.63], "loss/view_frame": [1.2, 1.165, 0.029], "loss/angle": [2.604, 1.758, 0.325], "loss/depth": [1.61, 0.8364, 0.48], "loss/score": [1.666, 1.433, 0.14], "loss/width": [2.478, 0.676, 0.727], "loss": [10.81, 6.33, 0.414]}, "flags": {"loss/view_frame": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.107, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 4], "score_quantiles": [[-1.755, -0.7759, 0.2339], [-1.741, -0.5596, 0.2647]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.24, "peak_gpu_mib": 4304.9, "seconds": 14.5}, "run": "2026-10-15@98e5310"},
  {"id": "family/HGGD", "group": "family", "method": "HGGD", "verdict": "runs", "judge": 2, "config_hash": "d4bf1430f845e44f", "probe": "grasppanda probe hggd/hggd_r34w8_g1b-realsense_15e --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [336, 329], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.012], "loss/angle": [4942.0, 75.56], "loss/offsets": [0.9016, 0.4404], "loss/anchor": [85.42, 3.471], "loss/anchor_offset": [1.376, 1.863], "loss": [7459.0, 85.35]}, "trend": {"loss/heatmap": [2429.0, 4.022, 0.998], "loss/angle": [4942.0, 86.82, 0.982], "loss/offsets": [0.9016, 0.4581, 0.492], "loss/anchor": [85.42, 3.272, 0.962], "loss/anchor_offset": [1.376, 1.396, -0.014], "loss": [7459.0, 95.97, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001136, 0.002304, 0.03259], [0.001139, 0.002339, 0.03276]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.488, "peak_gpu_mib": 8248.4, "seconds": 18.7}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/convnextv2-atto", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=convnextv2-atto"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "convnextv2-atto", "verdict": "runs-empty", "judge": 2, "config_hash": "f1fc82b16e46ca05", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=convnextv2-atto -o family-slot__HGGD__image_encoder__convnextv2-atto.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__convnextv2-atto.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 5677022, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1593.0, 3.283], "loss/angle": [3481.0, 41.5], "loss/offsets": [0.7266, 0.659], "loss/anchor": [2782.0, 2.043], "loss/anchor_offset": [0.0, 1.982], "loss": [7857.0, 49.47]}, "trend": {"loss/heatmap": [1593.0, 3.656, 0.998], "loss/angle": [3481.0, 56.47, 0.984], "loss/offsets": [0.7266, 0.6763, 0.069], "loss/anchor": [2782.0, 1.274, 1.0], "loss/anchor_offset": [1.256, 1.435, -0.143], "loss": [7857.0, 63.11, 0.992]}, "active": {"loss/anchor_offset": 16}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [null, null], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.189, "peak_gpu_mib": 9174.5, "seconds": 34.2}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/convnextv2-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=convnextv2-tiny"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "convnextv2-tiny", "verdict": "runs", "judge": 2, "config_hash": "1ef10481dc4821a5", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=convnextv2-tiny -o family-slot__HGGD__image_encoder__convnextv2-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__convnextv2-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 30208982, "iterations": 20, "batch_size": 4, "grasps_per_frame": [332, 270], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [7935.0, 184.7], "loss/angle": [5505.0, 75.12], "loss/offsets": [0.8486, 0.4812], "loss/anchor": [1379.0, 0.002909], "loss/anchor_offset": [0.5258, 0.0], "loss": [14820.0, 260.3]}, "trend": {"loss/heatmap": [7935.0, 430.0, 0.946], "loss/angle": [5505.0, 96.54, 0.982], "loss/offsets": [0.8486, 0.526, 0.38], "loss/anchor": [1379.0, 2.278, 0.998], "loss/anchor_offset": [0.5258, 3.506, -5.668], "loss": [14820.0, 532.1, 0.964]}, "active": {"loss/anchor_offset": 15}, "flags": {"loss/anchor_offset": ["rising", "zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.003229, 0.006078, 0.03482], [0.003416, 0.006618, 0.03155]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.327, "peak_gpu_mib": 11638.7, "seconds": 38.1}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/dinov2-small-reg-depth-stem", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=dinov2-small-reg-depth-stem"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "dinov2-small-reg-depth-stem", "verdict": "runs", "judge": 2, "config_hash": "cc837598847c926b", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=dinov2-small-reg-depth-stem -o family-slot__HGGD__image_encoder__dinov2-small-reg-depth-stem.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__dinov2-small-reg-depth-stem.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 24278841, "iterations": 20, "batch_size": 4, "grasps_per_frame": [480, 470], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2676.0, 33.94], "loss/angle": [7077.0, 170.5], "loss/offsets": [0.8271, 0.4004], "loss/anchor": [378.2, 2.092], "loss/anchor_offset": [1.453, 0.7754], "loss": [10130.0, 207.7]}, "trend": {"loss/heatmap": [2676.0, 57.79, 0.978], "loss/angle": [7077.0, 208.5, 0.971], "loss/offsets": [0.8271, 0.4321, 0.478], "loss/anchor": [378.2, 2.152, 0.994], "loss/anchor_offset": [1.453, 0.6965, 0.521], "loss": [10130.0, 269.5, 0.973]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.01727, 0.03012, 0.133], [0.01738, 0.03064, 0.1354]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.008, "peak_gpu_mib": 9284.9, "seconds": 33.1}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/dinov2-small-reg", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=dinov2-small-reg"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "dinov2-small-reg", "verdict": "runs", "judge": 2, "config_hash": "1ab1a44addbe1504", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=dinov2-small-reg -o family-slot__HGGD__image_encoder__dinov2-small-reg.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__dinov2-small-reg.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 24278614, "iterations": 20, "batch_size": 4, "grasps_per_frame": [320, 320], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [4902.0, 7.793], "loss/angle": [9388.0, 311.2], "loss/offsets": [0.7551, 0.4596], "loss/anchor": [730.1, 3.28], "loss/anchor_offset": [1.252, 1.525], "loss": [15020.0, 324.3]}, "trend": {"loss/heatmap": [4902.0, 12.6, 0.997], "loss/angle": [9388.0, 361.3, 0.962], "loss/offsets": [0.7551, 0.4727, 0.374], "loss/anchor": [730.1, 3.256, 0.996], "loss/anchor_offset": [1.252, 1.836, -0.466], "loss": [15020.0, 379.5, 0.975]}, "active": {"loss/anchor_offset": 18}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001079, 0.002101, 0.009432], [0.001079, 0.002101, 0.009432]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.809, "peak_gpu_mib": 9803.0, "seconds": 31.0}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/dinov3-convnext-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=dinov3-convnext-tiny"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "dinov3-convnext-tiny", "verdict": "runs", "judge": 2, "config_hash": "38a19a279339999d", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=dinov3-convnext-tiny -o family-slot__HGGD__image_encoder__dinov3-convnext-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__dinov3-convnext-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 30162614, "iterations": 20, "batch_size": 4, "grasps_per_frame": [315, 324], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1208.0, 2.586], "loss/angle": [7633.0, 133.9], "loss/offsets": [0.9511, 0.5065], "loss/anchor": [958.0, 3.571], "loss/anchor_offset": [0.9445, 0.7025], "loss": [9801.0, 141.2]}, "trend": {"loss/heatmap": [1208.0, 2.504, 0.998], "loss/angle": [7633.0, 192.8, 0.975], "loss/offsets": [0.9511, 0.5175, 0.456], "loss/anchor": [958.0, 2.739, 0.997], "loss/anchor_offset": [0.9445, 2.923, -2.095], "loss": [9801.0, 200.9, 0.98]}, "active": {"loss/anchor_offset": 16}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.003391, 0.006897, 0.02549], [0.003391, 0.006894, 0.02546]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.82, "peak_gpu_mib": 10494.1, "seconds": 27.1}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/dinov3-vits16", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=dinov3-vits16"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "dinov3-vits16", "verdict": "runs", "judge": 2, "config_hash": "9e28c65f7c9c955b", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=dinov3-vits16 -o family-slot__HGGD__image_encoder__dinov3-vits16.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__dinov3-vits16.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 23874646, "iterations": 20, "batch_size": 4, "grasps_per_frame": [210, 266], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/heatmap": [9104.0, 165.1], "loss/angle": [6178.0, 144.3], "loss/offsets": [0.9706, 0.4256], "loss/anchor": [490.1, 0.03144], "loss/anchor_offset": [1.507, 0.0], "loss": [15770.0, 309.8]}, "trend": {"loss/heatmap": [9104.0, 301.8, 0.967], "loss/angle": [6178.0, 168.1, 0.973], "loss/offsets": [0.9706, 0.5325, 0.451], "loss/anchor": [490.1, 2.293, 0.995], "loss/anchor_offset": [1.507, 2.815, -0.868], "loss": [15770.0, 475.0, 0.97]}, "active": {"loss/anchor_offset": 15}, "flags": {"loss/anchor_offset": ["rising", "zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001071, 0.002486, 0.06061], [0.001069, 0.002417, 0.06061]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.506, "peak_gpu_mib": 9489.3, "seconds": 19.2}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/efficientnetv2-s", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=efficientnetv2-s"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "efficientnetv2-s", "verdict": "runs", "judge": 2, "config_hash": "04decd1e4293b7a7", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=efficientnetv2-s -o family-slot__HGGD__image_encoder__efficientnetv2-s.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__efficientnetv2-s.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 22171558, "iterations": 20, "batch_size": 4, "grasps_per_frame": [245, 299], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [3637.0, 3.574], "loss/angle": [7772.0, 299.6], "loss/offsets": [0.9917, 0.4474], "loss/anchor": [1953.0, 2.924], "loss/anchor_offset": [1.462, 1.344], "loss": [13360.0, 307.9]}, "trend": {"loss/heatmap": [3637.0, 4.313, 0.999], "loss/angle": [7772.0, 341.9, 0.956], "loss/offsets": [0.9917, 0.4897, 0.506], "loss/anchor": [1953.0, 2.926, 0.999], "loss/anchor_offset": [1.462, 1.661, -0.136], "loss": [13360.0, 351.3, 0.974]}, "active": {"loss/anchor_offset": 17}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0005633, 0.002709, 0.05568], [0.0005686, 0.002985, 0.06811]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.041, "peak_gpu_mib": 10456.5, "seconds": 31.7}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/efficientvit-b1", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=efficientvit-b1"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "efficientvit-b1", "verdict": "runs", "judge": 2, "config_hash": "db65d77a2e35c194", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=efficientvit-b1 -o family-slot__HGGD__image_encoder__efficientvit-b1.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__efficientvit-b1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 6926518, "iterations": 20, "batch_size": 4, "grasps_per_frame": [70, 79], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [4556.0, 3.169], "loss/angle": [7421.0, 196.0], "loss/offsets": [0.8555, 0.2691], "loss/anchor": [437.0, 0.0009637], "loss/anchor_offset": [1.424, 0.0], "loss": [12420.0, 199.4]}, "trend": {"loss/heatmap": [4556.0, 5.844, 0.999], "loss/angle": [7421.0, 224.8, 0.97], "loss/offsets": [0.8555, 0.2983, 0.651], "loss/anchor": [437.0, 2.288, 0.995], "loss/anchor_offset": [1.424, 1.374, 0.035], "loss": [12420.0, 234.4, 0.981]}, "active": {"loss/anchor_offset": 16}, "flags": {"loss/anchor_offset": ["flat", "zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001606, 0.001848, 0.02221], [0.001606, 0.001843, 0.02219]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.865, "peak_gpu_mib": 9534.1, "seconds": 27.6}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/eva02-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=eva02-tiny"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "eva02-tiny", "verdict": "runs", "judge": 2, "config_hash": "cefa061ffcfad611", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=eva02-tiny -o family-slot__HGGD__image_encoder__eva02-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__eva02-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 7933846, "iterations": 20, "batch_size": 4, "grasps_per_frame": [120, 110], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [9452.0, 596.5], "loss/angle": [7625.0, 226.3], "loss/offsets": [0.8613, 0.571], "loss/anchor": [297.3, 0.4043], "loss/anchor_offset": [1.449, 0.0], "loss": [17380.0, 823.8]}, "trend": {"loss/heatmap": [9452.0, 502.2, 0.947], "loss/angle": [7625.0, 236.8, 0.969], "loss/offsets": [0.8613, 0.6, 0.303], "loss/anchor": [297.3, 2.29, 0.992], "loss/anchor_offset": [1.449, 1.748, -0.206], "loss": [17380.0, 743.3, 0.957]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.003695, 0.007626, 0.07265], [0.003696, 0.007625, 0.07265]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.815, "peak_gpu_mib": 9141.9, "seconds": 28.6}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/fastvit-sa12", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=fastvit-sa12"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "fastvit-sa12", "verdict": "runs", "judge": 2, "config_hash": "38f88fdc1a06b68c", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=fastvit-sa12 -o family-slot__HGGD__image_encoder__fastvit-sa12.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__fastvit-sa12.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 12722774, "iterations": 20, "batch_size": 4, "grasps_per_frame": [384, 384], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [3251.0, 3.275], "loss/angle": [5848.0, 111.8], "loss/offsets": [0.9687, 0.5016], "loss/anchor": [2920.0, 0.006], "loss/anchor_offset": [0.0, 0.0], "loss": [12020.0, 115.6]}, "trend": {"loss/heatmap": [3251.0, 3.27, 0.999], "loss/angle": [5848.0, 136.7, 0.977], "loss/offsets": [0.9687, 0.5028, 0.481], "loss/anchor": [2920.0, 0.611, 1.0], "loss/anchor_offset": [2.71, 2.602, 0.04], "loss": [12020.0, 141.6, 0.988]}, "active": {"loss/anchor_offset": 13}, "flags": {"loss/anchor_offset": ["flat", "rising", "zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.00146, 0.003663, 0.02902], [0.00146, 0.003644, 0.02902]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.777, "peak_gpu_mib": 9867.7, "seconds": 27.6}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/fastvit-t8", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=fastvit-t8"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "fastvit-t8", "verdict": "runs", "judge": 2, "config_hash": "84bde56ceda3e76d", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=fastvit-t8 -o family-slot__HGGD__image_encoder__fastvit-t8.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__fastvit-t8.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 5469878, "iterations": 20, "batch_size": 4, "grasps_per_frame": [56, 56], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1689.0, 2.449], "loss/angle": [8099.0, 226.1], "loss/offsets": [0.8744, 0.3244], "loss/anchor": [2190.0, 3.184], "loss/anchor_offset": [0.0, 6.086], "loss": [11980.0, 238.1]}, "trend": {"loss/heatmap": [1689.0, 3.828, 0.998], "loss/angle": [8099.0, 265.9, 0.967], "loss/offsets": [0.8744, 0.3537, 0.596], "loss/anchor": [2190.0, 3.073, 0.999], "loss/anchor_offset": [1.093, 2.852, -1.608], "loss": [11980.0, 276.0, 0.977]}, "active": {"loss/anchor_offset": 18}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001902, 0.004721, 0.01257], [0.001791, 0.004791, 0.01111]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.718, "peak_gpu_mib": 9199.6, "seconds": 26.8}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-convnextv2-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-convnextv2-tiny"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-convnextv2-tiny", "verdict": "runs", "judge": 2, "config_hash": "47b76aabec371298", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-convnextv2-tiny -o family-slot__HGGD__image_encoder__hf-convnextv2-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hf-convnextv2-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 30211862, "iterations": 20, "batch_size": 4, "grasps_per_frame": [56, 32], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [103.2, 3.012], "loss/angle": [5160.0, 20.6], "loss/offsets": [1.019, 0.5805], "loss/anchor": [3397.0, 3.196], "loss/anchor_offset": [0.0, 3.61], "loss": [8662.0, 31.0]}, "trend": {"loss/heatmap": [103.2, 3.115, 0.97], "loss/angle": [5160.0, 38.2, 0.993], "loss/offsets": [1.019, 0.5856, 0.425], "loss/anchor": [3397.0, 2.363, 0.999], "loss/anchor_offset": [2.801, 3.393, -0.212], "loss": [8662.0, 46.97, 0.995]}, "active": {"loss/anchor_offset": 16}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.002185, 0.005132, 0.05207], [0.002185, 0.005137, 0.05128]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.106, "peak_gpu_mib": 11675.4, "seconds": 34.8}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-depth-anything-v2-small", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-depth-anything-v2-small"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-depth-anything-v2-small", "verdict": "runs", "judge": 2, "config_hash": "5f2da0d7a6f9e33d", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-depth-anything-v2-small -o family-slot__HGGD__image_encoder__hf-depth-anything-v2-small.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hf-depth-anything-v2-small.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 24406742, "iterations": 20, "batch_size": 4, "grasps_per_frame": [415, 426], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1584.0, 2.214], "loss/angle": [6228.0, 35.4], "loss/offsets": [0.9424, 0.7198], "loss/anchor": [2877.0, 2.332], "loss/anchor_offset": [0.0, 0.8447], "loss": [10690.0, 41.51]}, "trend": {"loss/heatmap": [1584.0, 3.033, 0.998], "loss/angle": [6228.0, 49.86, 0.992], "loss/offsets": [0.9424, 0.7567, 0.197], "loss/anchor": [2877.0, 2.697, 0.999], "loss/anchor_offset": [1.608, 0.8428, 0.476], "loss": [10690.0, 57.19, 0.995]}, "active": {"loss/anchor_offset": 18}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.00183, 0.002665, 0.0654], [0.001825, 0.002665, 0.06565]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.038, "peak_gpu_mib": 10090.0, "seconds": 31.9}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-dinov2-small-reg", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-dinov2-small-reg"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-dinov2-small-reg", "verdict": "runs", "judge": 2, "config_hash": "74058b91f9f35155", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-dinov2-small-reg -o family-slot__HGGD__image_encoder__hf-dinov2-small-reg.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hf-dinov2-small-reg.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 24223190, "iterations": 20, "batch_size": 4, "grasps_per_frame": [9, 18], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [5442.0, 13.52], "loss/angle": [11540.0, 411.9], "loss/offsets": [0.9043, 0.5358], "loss/anchor": [407.7, 3.706], "loss/anchor_offset": [1.497, 3.096], "loss": [17390.0, 432.8]}, "trend": {"loss/heatmap": [5442.0, 21.78, 0.996], "loss/angle": [11540.0, 521.0, 0.955], "loss/offsets": [0.9043, 0.7091, 0.216], "loss/anchor": [407.7, 3.334, 0.992], "loss/anchor_offset": [1.497, 2.911, -0.944], "loss": [17390.0, 549.7, 0.968]}, "active": {"loss/anchor_offset": 16}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0009185, 0.005002, 0.04166], [0.0009168, 0.004996, 0.04165]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.974, "peak_gpu_mib": 9939.8, "seconds": 33.0}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-dinov2-small", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-dinov2-small"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-dinov2-small", "verdict": "runs", "judge": 2, "config_hash": "4959e3f387923a0a", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-dinov2-small -o family-slot__HGGD__image_encoder__hf-dinov2-small.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hf-dinov2-small.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 24406742, "iterations": 20, "batch_size": 4, "grasps_per_frame": [480, 480], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1575.0, 2.951], "loss/angle": [6213.0, 53.97], "loss/offsets": [0.949, 0.6076], "loss/anchor": [367.3, 2.683], "loss/anchor_offset": [1.436, 0.8566], "loss": [8158.0, 61.07]}, "trend": {"loss/heatmap": [1575.0, 3.876, 0.998], "loss/angle": [6213.0, 78.8, 0.987], "loss/offsets": [0.949, 0.6658, 0.298], "loss/anchor": [367.3, 2.983, 0.992], "loss/anchor_offset": [1.436, 1.23, 0.143], "loss": [8158.0, 87.55, 0.989]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001305, 0.002954, 0.021], [0.001287, 0.002807, 0.02102]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.785, "peak_gpu_mib": 10104.0, "seconds": 28.7}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-hiera-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-hiera-tiny"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-hiera-tiny", "verdict": "runs", "judge": 2, "config_hash": "f6efe2964620d802", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-hiera-tiny -o family-slot__HGGD__image_encoder__hf-hiera-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hf-hiera-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 29330870, "iterations": 20, "batch_size": 4, "grasps_per_frame": [414, 413], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1820.0, 20.85], "loss/angle": [10170.0, 267.0], "loss/offsets": [0.8378, 0.5671], "loss/anchor": [299.6, 1.861], "loss/anchor_offset": [1.295, 2.397], "loss": [12290.0, 292.7]}, "trend": {"loss/heatmap": [1820.0, 11.12, 0.994], "loss/angle": [10170.0, 335.9, 0.967], "loss/offsets": [0.8378, 0.6437, 0.232], "loss/anchor": [299.6, 2.161, 0.993], "loss/anchor_offset": [1.295, 2.76, -1.132], "loss": [12290.0, 352.1, 0.971]}, "active": {"loss/anchor_offset": 14}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0003776, 0.001053, 0.03183], [0.0003775, 0.001053, 0.03183]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.676, "peak_gpu_mib": 8962.2, "seconds": 28.9}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-radio-v3-base", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-radio-v3-base"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-radio-v3-base", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-radio-v3-base -o family-slot__HGGD__image_encoder__hf-radio-v3-base.yaml", "refusal": ["model.image_encoder: HFImageEncoder: `model_args.trust_remote_code: true` runs Python code downloaded from the hub repository 'nvidia/C-RADIOv3-B' on this machine. Read that repository, then state that you accept it with `accept_remote_code: true` (`--opts model.image_encoder.accept_remote_code=true`)."], "refusal_kinds": ["policy"], "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-siglip2-base", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-siglip2-base"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-siglip2-base", "verdict": "runs", "judge": 2, "config_hash": "9fbdc15f5df05f37", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-siglip2-base -o family-slot__HGGD__image_encoder__hf-siglip2-base.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hf-siglip2-base.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 95119958, "iterations": 20, "batch_size": 4, "grasps_per_frame": [112, 182], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [304.3, 2.561], "loss/angle": [4235.0, 33.72], "loss/offsets": [0.811, 0.5678], "loss/anchor": [761.0, 2.675], "loss/anchor_offset": [1.336, 2.882], "loss": [5303.0, 42.4]}, "trend": {"loss/heatmap": [304.3, 2.639, 0.991], "loss/angle": [4235.0, 51.7, 0.988], "loss/offsets": [0.811, 0.5251, 0.353], "loss/anchor": [761.0, 2.425, 0.997], "loss/anchor_offset": [1.336, 3.322, -1.486], "loss": [5303.0, 59.83, 0.989]}, "active": {"loss/anchor_offset": 18}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.002612, 0.004428, 0.02302], [0.002612, 0.004433, 0.02302]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.197, "peak_gpu_mib": 11472.1, "seconds": 37.6}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hf-swinv2-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hf-swinv2-tiny"], "slot": "image_encoder", "component": "HFImageEncoder", "variant": "hf-swinv2-tiny", "verdict": "runs", "judge": 2, "config_hash": "08fe3e5aca6a6378", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hf-swinv2-tiny -o family-slot__HGGD__image_encoder__hf-swinv2-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hf-swinv2-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 29920640, "iterations": 20, "batch_size": 4, "grasps_per_frame": [480, 460], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [103.5, 3.853], "loss/angle": [5144.0, 23.35], "loss/offsets": [1.003, 0.4156], "loss/anchor": [724.6, 3.059], "loss/anchor_offset": [1.802, 1.421], "loss": [5975.0, 32.1]}, "trend": {"loss/heatmap": [103.5, 4.248, 0.959], "loss/angle": [5144.0, 29.28, 0.994], "loss/offsets": [1.003, 0.4843, 0.517], "loss/anchor": [724.6, 2.799, 0.996], "loss/anchor_offset": [1.802, 1.228, 0.318], "loss": [5975.0, 38.04, 0.994]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.006485, 0.02679, 0.05786], [0.006526, 0.02822, 0.05681]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.342, "peak_gpu_mib": 11196.4, "seconds": 40.1}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hggd-residual", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hggd-residual"], "slot": "image_encoder", "component": "HGGDResidualEncoder", "variant": "hggd-residual", "verdict": "runs", "judge": 2, "config_hash": "575cc1c08e69b158", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hggd-residual -o family-slot__HGGD__image_encoder__hggd-residual.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hggd-residual.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [336, 329], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 3.992], "loss/angle": [4942.0, 74.66], "loss/offsets": [0.9016, 0.4511], "loss/anchor": [85.42, 3.254], "loss/anchor_offset": [1.376, 1.38], "loss": [7459.0, 83.74]}, "trend": {"loss/heatmap": [2429.0, 4.001, 0.998], "loss/angle": [4942.0, 86.7, 0.982], "loss/offsets": [0.9016, 0.4591, 0.491], "loss/anchor": [85.42, 3.111, 0.964], "loss/anchor_offset": [1.376, 1.462, -0.063], "loss": [7459.0, 95.74, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.00162, 0.003118, 0.02983], [0.001621, 0.003426, 0.02981]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.086, "peak_gpu_mib": 8218.5, "seconds": 32.3}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/hiera-small-abswin", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=hiera-small-abswin"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "hiera-small-abswin", "verdict": "runs", "judge": 2, "config_hash": "8d2ce99342d058ab", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=hiera-small-abswin -o family-slot__HGGD__image_encoder__hiera-small-abswin.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__hiera-small-abswin.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 35935286, "iterations": 20, "batch_size": 4, "grasps_per_frame": [432, 432], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1453.0, 2.248], "loss/angle": [4063.0, 19.16], "loss/offsets": [0.7792, 0.485], "loss/anchor": [1018.0, 1.509], "loss/anchor_offset": [1.066, 3.386], "loss": [6536.0, 26.79]}, "trend": {"loss/heatmap": [1453.0, 4.612, 0.997], "loss/angle": [4063.0, 29.49, 0.993], "loss/offsets": [0.7792, 0.4746, 0.391], "loss/anchor": [1018.0, 1.709, 0.998], "loss/anchor_offset": [1.066, 3.594, -2.373], "loss": [6536.0, 39.88, 0.994]}, "active": {"loss/anchor_offset": 18}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001907, 0.03334, 0.2112], [0.001904, 0.03483, 0.2151]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.097, "peak_gpu_mib": 10270.6, "seconds": 31.7}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/maxvit-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=maxvit-tiny"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "maxvit-tiny", "verdict": "runs", "judge": 2, "config_hash": "a9ef979c92dc4c17", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=maxvit-tiny -o family-slot__HGGD__image_encoder__maxvit-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__maxvit-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 32603566, "iterations": 20, "batch_size": 4, "grasps_per_frame": [432, 431], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/heatmap": [4756.0, 2.571], "loss/angle": [7121.0, 143.4], "loss/offsets": [0.8233, 0.359], "loss/anchor": [1474.0, 3.568], "loss/anchor_offset": [0.6842, 1.933], "loss": [13350.0, 151.8]}, "trend": {"loss/heatmap": [4756.0, 4.46, 0.999], "loss/angle": [7121.0, 179.0, 0.975], "loss/offsets": [0.8233, 0.3506, 0.574], "loss/anchor": [1474.0, 2.364, 0.998], "loss/anchor_offset": [0.6842, 1.246, -0.822], "loss": [13350.0, 187.2, 0.986]}, "active": {"loss/anchor_offset": 18}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0007305, 0.001356, 0.02312], [0.0007321, 0.00136, 0.02281]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.6, "peak_gpu_mib": 14206.3, "seconds": 21.9}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/mobilenetv4-conv-small", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=mobilenetv4-conv-small"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "mobilenetv4-conv-small", "verdict": "runs", "judge": 2, "config_hash": "99e51f625abf5e06", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=mobilenetv4-conv-small -o family-slot__HGGD__image_encoder__mobilenetv4-conv-small.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__mobilenetv4-conv-small.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3626422, "iterations": 20, "batch_size": 4, "grasps_per_frame": [450, 470], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [97.72, 2.03], "loss/angle": [5294.0, 228.0], "loss/offsets": [0.8852, 0.3546], "loss/anchor": [269.8, 2.982], "loss/anchor_offset": [0.8457, 1.879], "loss": [5663.0, 235.2]}, "trend": {"loss/heatmap": [97.72, 2.164, 0.978], "loss/angle": [5294.0, 254.2, 0.952], "loss/offsets": [0.8852, 0.3716, 0.58], "loss/anchor": [269.8, 2.481, 0.991], "loss/anchor_offset": [0.8457, 1.529, -0.808], "loss": [5663.0, 260.8, 0.954]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001286, 0.006253, 0.26], [0.001235, 0.006206, 0.2618]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.006, "peak_gpu_mib": 8824.6, "seconds": 30.8}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/mobilenetv4-hybrid-medium", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=mobilenetv4-hybrid-medium"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "mobilenetv4-hybrid-medium", "verdict": "runs-empty", "judge": 2, "config_hash": "9e8884d8660d4362", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=mobilenetv4-hybrid-medium -o family-slot__HGGD__image_encoder__mobilenetv4-hybrid-medium.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__mobilenetv4-hybrid-medium.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 10933190, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [1603.0, 2.185], "loss/angle": [5303.0, 176.2], "loss/offsets": [0.869, 0.5005], "loss/anchor": [3651.0, 2.574], "loss/anchor_offset": [0.0, 0.9533], "loss": [10560.0, 182.4]}, "trend": {"loss/heatmap": [1603.0, 4.117, 0.997], "loss/angle": [5303.0, 209.9, 0.96], "loss/offsets": [0.869, 0.5371, 0.382], "loss/anchor": [3651.0, 2.24, 0.999], "loss/anchor_offset": [2.4, 1.491, 0.379], "loss": [10560.0, 218.0, 0.979]}, "active": {"loss/anchor_offset": 16}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [null, null], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.112, "peak_gpu_mib": 9736.4, "seconds": 31.9}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/pe-spatial-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=pe-spatial-tiny"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "pe-spatial-tiny", "verdict": "runs", "judge": 2, "config_hash": "746af6f750789133", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=pe-spatial-tiny -o family-slot__HGGD__image_encoder__pe-spatial-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__pe-spatial-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 7914838, "iterations": 20, "batch_size": 4, "grasps_per_frame": [396, 423], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [5893.0, 3.819], "loss/angle": [4884.0, 51.37], "loss/offsets": [0.9557, 0.5567], "loss/anchor": [620.2, 3.553], "loss/anchor_offset": [1.062, 5.397], "loss": [11400.0, 64.7]}, "trend": {"loss/heatmap": [5893.0, 8.971, 0.998], "loss/angle": [4884.0, 71.72, 0.985], "loss/offsets": [0.9557, 0.5673, 0.406], "loss/anchor": [620.2, 2.817, 0.995], "loss/anchor_offset": [1.062, 3.538, -2.332], "loss": [11400.0, 86.91, 0.992]}, "active": {"loss/anchor_offset": 15}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0009088, 0.0039, 0.06925], [0.0009091, 0.003901, 0.06924]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.96, "peak_gpu_mib": 8653.5, "seconds": 30.5}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/repvit-m1", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=repvit-m1"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "repvit-m1", "verdict": "runs", "judge": 2, "config_hash": "e5fd10f37b332a53", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=repvit-m1 -o family-slot__HGGD__image_encoder__repvit-m1.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__repvit-m1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 7011654, "iterations": 20, "batch_size": 4, "grasps_per_frame": [99, 81], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2782.0, 3.169], "loss/angle": [3844.0, 43.74], "loss/offsets": [0.9305, 0.7694], "loss/anchor": [368.6, 3.454], "loss/anchor_offset": [1.22, 1.431], "loss": [6997.0, 52.56]}, "trend": {"loss/heatmap": [2782.0, 3.883, 0.999], "loss/angle": [3844.0, 61.04, 0.984], "loss/offsets": [0.9305, 0.8164, 0.123], "loss/anchor": [368.6, 3.203, 0.991], "loss/anchor_offset": [1.22, 1.293, -0.06], "loss": [6997.0, 70.24, 0.99]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/offsets": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0009394, 0.001935, 0.03183], [0.0009393, 0.001934, 0.02917]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.93, "peak_gpu_mib": 9324.9, "seconds": 31.0}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/resnet18", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=resnet18"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "resnet18", "verdict": "runs", "judge": 2, "config_hash": "7d8ae571df3965cb", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=resnet18 -o family-slot__HGGD__image_encoder__resnet18.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__resnet18.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 13531030, "iterations": 20, "batch_size": 4, "grasps_per_frame": [274, 276], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [4320.0, 9.313], "loss/angle": [7779.0, 80.58], "loss/offsets": [0.9648, 0.3284], "loss/anchor": [772.9, 3.604], "loss/anchor_offset": [1.246, 10.65], "loss": [12870.0, 104.5]}, "trend": {"loss/heatmap": [4320.0, 10.77, 0.998], "loss/angle": [7779.0, 96.0, 0.988], "loss/offsets": [0.9648, 0.3436, 0.644], "loss/anchor": [772.9, 2.534, 0.997], "loss/anchor_offset": [1.246, 3.104, -1.491], "loss": [12870.0, 112.1, 0.991]}, "active": {"loss/anchor_offset": 16}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0008041, 0.006186, 0.01986], [0.0007923, 0.003723, 0.01986]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.07, "peak_gpu_mib": 8939.7, "seconds": 31.4}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/resnet34-rgbd", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=resnet34-rgbd"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "resnet34-rgbd", "verdict": "runs", "judge": 2, "config_hash": "0aa00270d532acbd", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=resnet34-rgbd -o family-slot__HGGD__image_encoder__resnet34-rgbd.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__resnet34-rgbd.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 23642326, "iterations": 20, "batch_size": 4, "grasps_per_frame": [336, 336], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [696.0, 2.018], "loss/angle": [9583.0, 187.3], "loss/offsets": [0.7543, 0.3542], "loss/anchor": [744.3, 0.003386], "loss/anchor_offset": [1.612, 0.0], "loss": [11030.0, 189.6]}, "trend": {"loss/heatmap": [696.0, 2.352, 0.997], "loss/angle": [9583.0, 260.9, 0.973], "loss/offsets": [0.7543, 0.3588, 0.524], "loss/anchor": [744.3, 0.8281, 0.999], "loss/anchor_offset": [1.612, 2.933, -0.819], "loss": [11030.0, 266.5, 0.976]}, "active": {"loss/anchor_offset": 17}, "flags": {"loss/anchor_offset": ["rising", "zero_at_end"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001317, 0.002649, 0.0304], [0.00132, 0.002649, 0.03051]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.058, "peak_gpu_mib": 9413.5, "seconds": 31.3}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/resnet34", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=resnet34"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "resnet34", "verdict": "runs", "judge": 2, "config_hash": "e50c21bb7292538f", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=resnet34 -o family-slot__HGGD__image_encoder__resnet34.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__resnet34.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 23639190, "iterations": 20, "batch_size": 4, "grasps_per_frame": [366, 381], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [696.0, 2.072], "loss/angle": [9583.0, 228.4], "loss/offsets": [0.7543, 0.4387], "loss/anchor": [744.3, 3.269], "loss/anchor_offset": [1.612, 1.164], "loss": [11030.0, 235.4]}, "trend": {"loss/heatmap": [696.0, 2.578, 0.996], "loss/angle": [9583.0, 288.7, 0.97], "loss/offsets": [0.7543, 0.4449, 0.41], "loss/anchor": [744.3, 2.654, 0.996], "loss/anchor_offset": [1.612, 1.324, 0.179], "loss": [11030.0, 295.7, 0.973]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.002099, 0.008312, 0.03792], [0.002078, 0.008412, 0.03792]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.04, "peak_gpu_mib": 9440.6, "seconds": 31.7}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/resnet50", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=resnet50"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "resnet50", "verdict": "runs", "judge": 2, "config_hash": "194973aaa7325b89", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=resnet50 -o family-slot__HGGD__image_encoder__resnet50.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__resnet50.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 26046870, "iterations": 20, "batch_size": 4, "grasps_per_frame": [362, 325], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [5439.0, 2.125], "loss/angle": [6919.0, 76.4], "loss/offsets": [0.8897, 0.2536], "loss/anchor": [289.0, 3.022], "loss/anchor_offset": [1.57, 3.164], "loss": [12650.0, 84.96]}, "trend": {"loss/heatmap": [5439.0, 2.147, 1.0], "loss/angle": [6919.0, 94.08, 0.986], "loss/offsets": [0.8897, 0.2743, 0.692], "loss/anchor": [289.0, 3.259, 0.989], "loss/anchor_offset": [1.57, 2.519, -0.605], "loss": [12650.0, 102.3, 0.992]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001092, 0.001651, 0.01315], [0.001067, 0.001645, 0.01376]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.045, "peak_gpu_mib": 10414.8, "seconds": 33.5}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/sam2-hiera-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=sam2-hiera-tiny"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "sam2-hiera-tiny", "verdict": "runs", "judge": 2, "config_hash": "aaeed118b5c62afa", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=sam2-hiera-tiny -o family-slot__HGGD__image_encoder__sam2-hiera-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__sam2-hiera-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 29193494, "iterations": 20, "batch_size": 4, "grasps_per_frame": [325, 306], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2061.0, 3.653], "loss/angle": [7426.0, 104.6], "loss/offsets": [0.7524, 0.5197], "loss/anchor": [1190.0, 2.833], "loss/anchor_offset": [1.519, 1.488], "loss": [10680.0, 113.1]}, "trend": {"loss/heatmap": [2061.0, 3.646, 0.998], "loss/angle": [7426.0, 131.2, 0.982], "loss/offsets": [0.7524, 0.5359, 0.288], "loss/anchor": [1190.0, 2.87, 0.998], "loss/anchor_offset": [1.519, 1.712, -0.127], "loss": [10680.0, 140.0, 0.987]}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.003596, 0.008988, 0.06939], [0.00404, 0.008987, 0.0694]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.697, "peak_gpu_mib": 10628.1, "seconds": 23.5}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/siglip2-base", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=siglip2-base"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "siglip2-base", "verdict": "runs", "judge": 2, "config_hash": "da9395707f1ecdb9", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=siglip2-base -o family-slot__HGGD__image_encoder__siglip2-base.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__siglip2-base.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 88713814, "iterations": 20, "batch_size": 4, "grasps_per_frame": [432, 432], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/heatmap": [429.1, 2.295], "loss/angle": [5178.0, 138.4], "loss/offsets": [0.8244, 0.4905], "loss/anchor": [2633.0, 3.412], "loss/anchor_offset": [0.0, 1.58], "loss": [8241.0, 146.1]}, "trend": {"loss/heatmap": [429.1, 2.463, 0.994], "loss/angle": [5178.0, 167.5, 0.968], "loss/offsets": [0.8244, 0.4721, 0.427], "loss/anchor": [2633.0, 3.275, 0.999], "loss/anchor_offset": [1.514, 1.735, -0.146], "loss": [8241.0, 175.7, 0.979]}, "active": {"loss/anchor_offset": 15}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001338, 0.001723, 0.002564], [0.001338, 0.001723, 0.002564]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.617, "peak_gpu_mib": 11637.4, "seconds": 23.5}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/swinv2-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=swinv2-tiny"], "slot": "image_encoder", "component": "TimmImageEncoder", "variant": "swinv2-tiny", "verdict": "runs", "judge": 2, "config_hash": "10dc9816e8b37925", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=swinv2-tiny -o family-slot__HGGD__image_encoder__swinv2-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__swinv2-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 29920640, "iterations": 20, "batch_size": 4, "grasps_per_frame": [18, 198], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/heatmap": [13290.0, 490.8], "loss/angle": [7931.0, 263.7], "loss/offsets": [0.8534, 0.413], "loss/anchor": [294.8, 3.034], "loss/anchor_offset": [1.432, 2.366], "loss": [21520.0, 760.3]}, "trend": {"loss/heatmap": [13290.0, 760.5, 0.943], "loss/angle": [7931.0, 271.4, 0.966], "loss/offsets": [0.8534, 0.5229, 0.387], "loss/anchor": [294.8, 3.174, 0.989], "loss/anchor_offset": [1.432, 3.132, -1.188], "loss": [21520.0, 1039.0, 0.952]}, "active": {"loss/anchor_offset": 15}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001614, 0.00238, 0.01593], [0.001613, 0.002377, 0.01595]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.534, "peak_gpu_mib": 11186.7, "seconds": 20.1}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/tv-convnext-tiny", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=tv-convnext-tiny"], "slot": "image_encoder", "component": "TorchvisionImageEncoder", "variant": "tv-convnext-tiny", "verdict": "runs", "judge": 2, "config_hash": "54e387e6b9df48f0", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=tv-convnext-tiny -o family-slot__HGGD__image_encoder__tv-convnext-tiny.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__tv-convnext-tiny.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 30162614, "iterations": 20, "batch_size": 4, "grasps_per_frame": [225, 234], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [7900.0, 135.7], "loss/angle": [5750.0, 121.3], "loss/offsets": [0.8497, 0.5741], "loss/anchor": [627.2, 2.775], "loss/anchor_offset": [1.791, 2.689], "loss": [14280.0, 263.1]}, "trend": {"loss/heatmap": [7900.0, 180.7, 0.977], "loss/angle": [5750.0, 135.0, 0.977], "loss/offsets": [0.8497, 0.5628, 0.338], "loss/anchor": [627.2, 2.416, 0.996], "loss/anchor_offset": [1.791, 2.792, -0.559], "loss": [14280.0, 320.8, 0.978]}, "active": {"loss/anchor_offset": 18}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001754, 0.00702, 0.06084], [0.001987, 0.00702, 0.06087]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.088, "peak_gpu_mib": 9936.6, "seconds": 32.6}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/tv-efficientnetv2-s", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=tv-efficientnetv2-s"], "slot": "image_encoder", "component": "TorchvisionImageEncoder", "variant": "tv-efficientnetv2-s", "verdict": "runs", "judge": 2, "config_hash": "7ddb019389e01b85", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=tv-efficientnetv2-s -o family-slot__HGGD__image_encoder__tv-efficientnetv2-s.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__tv-efficientnetv2-s.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 22567334, "iterations": 20, "batch_size": 4, "grasps_per_frame": [351, 333], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2164.0, 3.102], "loss/angle": [7244.0, 239.0], "loss/offsets": [0.819, 0.3335], "loss/anchor": [345.4, 3.716], "loss/anchor_offset": [1.107, 2.369], "loss": [9755.0, 248.6]}, "trend": {"loss/heatmap": [2164.0, 4.646, 0.998], "loss/angle": [7244.0, 264.8, 0.963], "loss/offsets": [0.819, 0.3009, 0.633], "loss/anchor": [345.4, 3.194, 0.991], "loss/anchor_offset": [1.107, 2.65, -1.393], "loss": [9755.0, 275.2, 0.972]}, "active": {"loss/anchor_offset": 14}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.0012, 0.002087, 0.04668], [0.001232, 0.002099, 0.04816]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.095, "peak_gpu_mib": 11659.7, "seconds": 32.2}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/tv-mobilenetv3-large", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=tv-mobilenetv3-large"], "slot": "image_encoder", "component": "TorchvisionImageEncoder", "variant": "tv-mobilenetv3-large", "verdict": "runs", "judge": 2, "config_hash": "58df2176dcbe97e8", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=tv-mobilenetv3-large -o family-slot__HGGD__image_encoder__tv-mobilenetv3-large.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__tv-mobilenetv3-large.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 5334662, "iterations": 20, "batch_size": 4, "grasps_per_frame": [319, 387], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [5580.0, 6.143], "loss/angle": [6808.0, 203.2], "loss/offsets": [0.8777, 0.447], "loss/anchor": [365.6, 3.486], "loss/anchor_offset": [1.411, 0.7006], "loss": [12760.0, 213.9]}, "trend": {"loss/heatmap": [5580.0, 13.3, 0.998], "loss/angle": [6808.0, 229.1, 0.966], "loss/offsets": [0.8777, 0.3618, 0.588], "loss/anchor": [365.6, 3.094, 0.992], "loss/anchor_offset": [1.411, 2.045, -0.45], "loss": [12760.0, 247.9, 0.981]}, "active": {"loss/anchor_offset": 18}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.001551, 0.005791, 0.01417], [0.001743, 0.005832, 0.01432]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.796, "peak_gpu_mib": 9382.2, "seconds": 25.8}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/tv-regnet-y-800mf", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=tv-regnet-y-800mf"], "slot": "image_encoder", "component": "TorchvisionImageEncoder", "variant": "tv-regnet-y-800mf", "verdict": "runs", "judge": 2, "config_hash": "e05dd9d50f3ff9b7", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=tv-regnet-y-800mf -o family-slot__HGGD__image_encoder__tv-regnet-y-800mf.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__tv-regnet-y-800mf.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 8022510, "iterations": 20, "batch_size": 4, "grasps_per_frame": [455, 444], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/heatmap": [2110.0, 2.4], "loss/angle": [6680.0, 171.8], "loss/offsets": [0.9262, 0.4485], "loss/anchor": [486.8, 3.496], "loss/anchor_offset": [2.2, 1.505], "loss": [9280.0, 179.7]}, "trend": {"loss/heatmap": [2110.0, 2.887, 0.999], "loss/angle": [6680.0, 202.7, 0.97], "loss/offsets": [0.9262, 0.5074, 0.452], "loss/anchor": [486.8, 3.425, 0.993], "loss/anchor_offset": [2.2, 1.628, 0.26], "loss": [9280.0, 211.0, 0.977]}, "active": {"loss/anchor_offset": 15}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.000528, 0.0007641, 0.1247], [0.000524, 0.0007884, 0.1241]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.372, "peak_gpu_mib": 9368.5, "seconds": 16.1}, "run": "2026-10-15@96facee"},
  {"id": "family-slot/HGGD/image_encoder/tv-resnet34", "group": "family-slot", "method": "HGGD", "sets": ["image_encoder=tv-resnet34"], "slot": "image_encoder", "component": "TorchvisionImageEncoder", "variant": "tv-resnet34", "verdict": "runs", "judge": 2, "config_hash": "7d71bd1b839f7824", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=tv-resnet34 -o family-slot__HGGD__image_encoder__tv-resnet34.yaml", "probe": "grasppanda probe family-slot__HGGD__image_encoder__tv-resnet34.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 23597974, "iterations": 20, "batch_size": 4, "grasps_per_frame": [330, 260], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/heatmap": [5022.0, 46.01], "loss/angle": [11940.0, 315.3], "loss/offsets": [0.8506, 0.4546], "loss/anchor": [258.8, 3.48], "loss/anchor_offset": [1.422, 2.44], "loss": [17230.0, 367.7]}, "trend": {"loss/heatmap": [5022.0, 82.07, 0.984], "loss/angle": [11940.0, 281.2, 0.976], "loss/offsets": [0.8506, 0.4085, 0.52], "loss/anchor": [258.8, 2.176, 0.992], "loss/anchor_offset": [1.422, 2.09, -0.47], "loss": [17230.0, 367.1, 0.979]}, "active": {"loss/anchor_offset": 12}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.000754, 0.0014, 0.002378], [0.0007605, 0.001392, 0.002208]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.446, "peak_gpu_mib": 9099.4, "seconds": 17.1}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/approach-cone", "group": "post", "method": "GSNet", "sets": ["post=approach-cone"], "slot": "post", "component": "ApproachAngleFilter", "variant": "approach-cone", "verdict": "runs", "judge": 2, "config_hash": "1f36f90d52ef595d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=approach-cone -o post__GSNet__approach-cone.yaml", "probe": "grasppanda probe post__GSNet__approach-cone.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [284, 329], "frames": 8, "postprocessing": {"steps": ["ApproachAngleFilter"], "grasps": [[284, 221], [329, 299]]}, "losses": {"loss/objectness": [0.7893, 0.6186], "loss/graspness": [5.176, 0.4544], "loss/view": [6.291, 0.9583], "loss/score": [1.515, 0.08747], "loss/width": [3.654, 0.2713], "loss": [17.43, 2.39]}, "trend": {"loss/objectness": [0.7893, 0.6146, 0.221], "loss/graspness": [5.176, 0.3756, 0.927], "loss/view": [6.291, 0.4705, 0.925], "loss/score": [1.515, 0.08966, 0.941], "loss/width": [3.654, 0.2482, 0.932], "loss": [17.43, 1.799, 0.897]}, "real_seeds": {"min": 0.418, "mean": 0.921, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1126, 0.1777, 0.2735], [0.1187, 0.1924, 0.3064]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.188, "peak_gpu_mib": 1841.5, "seconds": 34.3, "post_seconds": 0.141}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/approach-cone", "group": "post", "method": "EconomicGrasp", "sets": ["post=approach-cone"], "slot": "post", "component": "ApproachAngleFilter", "variant": "approach-cone", "verdict": "runs", "judge": 2, "config_hash": "01c774018d16bfad", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=approach-cone -o post__EconomicGrasp__approach-cone.yaml", "probe": "grasppanda probe post__EconomicGrasp__approach-cone.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["ApproachAngleFilter"], "grasps": [[1024, 1006], [1024, 984]]}, "losses": {"loss/objectness": [0.7845, 0.6327], "loss/graspness": [5.216, 0.2776], "loss/view": [6.545, 0.6834], "loss/angle": [3.303, 0.8109], "loss/depth": [2.236, 0.4493], "loss/score": [2.117, 0.6988], "loss/width": [8.756, 0.7625], "loss": [28.96, 4.315]}, "trend": {"loss/objectness": [0.7845, 0.622, 0.207], "loss/graspness": [5.216, 0.3333, 0.936], "loss/view": [6.545, 0.7125, 0.891], "loss/angle": [3.303, 0.7842, 0.763], "loss/depth": [2.236, 0.4242, 0.81], "loss/score": [2.117, 0.6593, 0.689], "loss/width": [8.756, 0.7143, 0.918], "loss": [28.96, 4.25, 0.853]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.467, -3.244, -2.891], [-3.533, -3.26, -2.922]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.867, "peak_gpu_mib": 2066.2, "seconds": 48.0, "post_seconds": 0.04}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/approach-cone", "group": "post", "method": "FineGrasp", "sets": ["post=approach-cone"], "slot": "post", "component": "ApproachAngleFilter", "variant": "approach-cone", "verdict": "runs", "judge": 2, "config_hash": "3e5977395895f29e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=approach-cone -o post__FineGrasp__approach-cone.yaml", "probe": "grasppanda probe post__FineGrasp__approach-cone.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["ApproachAngleFilter"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.8058, 0.6207], "loss/graspness": [2.473, 0.2656], "loss/view": [5.497, 0.6105], "loss/angle": [1.429, 1.031], "loss/depth": [2.039, 0.5581], "loss/score": [2.563, 0.8641], "loss/width": [4.953, 0.8352], "loss": [19.76, 4.785]}, "trend": {"loss/objectness": [0.8058, 0.6277, 0.221], "loss/graspness": [2.473, 0.2776, 0.888], "loss/view": [5.497, 0.606, 0.89], "loss/angle": [1.429, 0.9914, 0.306], "loss/depth": [2.039, 0.5174, 0.746], "loss/score": [2.563, 0.8402, 0.672], "loss/width": [4.953, 0.8222, 0.834], "loss": [19.76, 4.682, 0.763]}, "real_seeds": {"min": 0.499, "mean": 0.95, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.64, -1.64, -1.64], [-1.64, -1.64, -1.64]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.722, "peak_gpu_mib": 11643.5, "seconds": 85.9, "post_seconds": 0.021}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/approach-cone", "group": "post", "method": "GraspNet-baseline", "sets": ["post=approach-cone"], "slot": "post", "component": "ApproachAngleFilter", "variant": "approach-cone", "verdict": "runs", "judge": 2, "config_hash": "d7a5fc42f20a3e98", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=approach-cone -o post__GraspNet-baseline__approach-cone.yaml", "probe": "grasppanda probe post__GraspNet-baseline__approach-cone.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [679, 455], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ApproachAngleFilter"], "grasps": [[679, 300], [455, 136]]}, "losses": {"loss/objectness": [0.7623, 0.5633], "loss/view": [0.2001, 0.07709], "loss/score": [0.05519, 0.0406], "loss/angle": [0.53, 0.4693], "loss/width": [0.6388, 0.2298], "loss/tolerance": [1.188, 0.5409], "loss": [3.374, 1.921]}, "trend": {"loss/objectness": [0.7623, 0.5873, 0.23], "loss/view": [0.2001, 0.07942, 0.603], "loss/score": [0.05519, 0.03312, 0.4], "loss/angle": [0.53, 0.4625, 0.127], "loss/width": [0.6388, 0.1796, 0.719], "loss/tolerance": [1.188, 0.4729, 0.602], "loss": [3.374, 1.815, 0.462]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-20.61, 0.3969, 54.51], [-46.43, 0.1293, 73.28]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.325, "peak_gpu_mib": 3972.1, "seconds": 14.5, "post_seconds": 0.018}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/approach-cone", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=approach-cone"], "slot": "post", "component": "ApproachAngleFilter", "variant": "approach-cone", "verdict": "runs-empty", "judge": 2, "config_hash": "f13910beee5af145", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=approach-cone -o post__Scale-Balanced-Grasp__approach-cone.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__approach-cone.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ApproachAngleFilter"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.456, "peak_gpu_mib": 9615.8, "seconds": 17.6, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/approach-cone", "group": "post", "method": "HGGD", "sets": ["post=approach-cone"], "slot": "post", "component": "ApproachAngleFilter", "variant": "approach-cone", "verdict": "runs", "judge": 2, "config_hash": "73ca1117cae343ae", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=approach-cone -o post__HGGD__approach-cone.yaml", "probe": "grasppanda probe post__HGGD__approach-cone.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [329, 322], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ApproachAngleFilter"], "grasps": [[329, 125], [322, 169]]}, "losses": {"loss/heatmap": [2429.0, 4.028], "loss/angle": [4942.0, 70.96], "loss/offsets": [0.9016, 0.4831], "loss/anchor": [85.42, 3.446], "loss/anchor_offset": [1.376, 1.572], "loss": [7459.0, 80.48]}, "trend": {"loss/heatmap": [2429.0, 4.03, 0.998], "loss/angle": [4942.0, 84.8, 0.983], "loss/offsets": [0.9016, 0.4874, 0.459], "loss/anchor": [85.42, 3.261, 0.962], "loss/anchor_offset": [1.376, 1.343, 0.024], "loss": [7459.0, 93.92, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.00111, 0.002645, 0.06503], [0.001113, 0.00266, 0.06069]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.784, "peak_gpu_mib": 8202.9, "seconds": 26.2, "post_seconds": 0.016}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/center-gripper", "group": "post", "method": "GSNet", "sets": ["post=center-gripper"], "slot": "post", "component": "GripperCentering", "variant": "center-gripper", "verdict": "runs", "judge": 2, "config_hash": "73e2b9e8c17d1bb6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=center-gripper -o post__GSNet__center-gripper.yaml", "probe": "grasppanda probe post__GSNet__center-gripper.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [357, 412], "frames": 8, "postprocessing": {"steps": ["GripperCentering"], "grasps": [[357, 357], [412, 412]]}, "losses": {"loss/objectness": [0.7893, 0.6036], "loss/graspness": [5.176, 0.4574], "loss/view": [6.291, 0.5025], "loss/score": [1.515, 0.08372], "loss/width": [3.654, 0.2998], "loss": [17.43, 1.947]}, "trend": {"loss/objectness": [0.7893, 0.6037, 0.235], "loss/graspness": [5.176, 0.3861, 0.925], "loss/view": [6.291, 0.4261, 0.932], "loss/score": [1.515, 0.09035, 0.94], "loss/width": [3.654, 0.2272, 0.938], "loss": [17.43, 1.733, 0.901]}, "real_seeds": {"min": 0.346, "mean": 0.908, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1106, 0.165, 0.2507], [0.1101, 0.1698, 0.3906]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.177, "peak_gpu_mib": 1841.5, "seconds": 31.8, "post_seconds": 0.01}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/center-gripper", "group": "post", "method": "EconomicGrasp", "sets": ["post=center-gripper"], "slot": "post", "component": "GripperCentering", "variant": "center-gripper", "verdict": "runs", "judge": 2, "config_hash": "4d6e3657a54792a6", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=center-gripper -o post__EconomicGrasp__center-gripper.yaml", "probe": "grasppanda probe post__EconomicGrasp__center-gripper.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["GripperCentering"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.7845, 0.627], "loss/graspness": [5.216, 0.2815], "loss/view": [6.545, 0.6767], "loss/angle": [3.303, 0.7194], "loss/depth": [2.236, 0.4037], "loss/score": [2.117, 0.636], "loss/width": [8.756, 0.7008], "loss": [28.96, 4.045]}, "trend": {"loss/objectness": [0.7845, 0.6237, 0.205], "loss/graspness": [5.216, 0.335, 0.936], "loss/view": [6.545, 0.7104, 0.891], "loss/angle": [3.303, 0.7098, 0.785], "loss/depth": [2.236, 0.4018, 0.82], "loss/score": [2.117, 0.6057, 0.714], "loss/width": [8.756, 0.7295, 0.917], "loss": [28.96, 4.116, 0.858]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.583, -3.251, -3.01], [-3.516, -3.244, -3.021]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.52, "peak_gpu_mib": 2066.2, "seconds": 45.8, "post_seconds": 0.017}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/center-gripper", "group": "post", "method": "FineGrasp", "sets": ["post=center-gripper"], "slot": "post", "component": "GripperCentering", "variant": "center-gripper", "verdict": "runs", "judge": 2, "config_hash": "3cd1a5e9c47b071b", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=center-gripper -o post__FineGrasp__center-gripper.yaml", "probe": "grasppanda probe post__FineGrasp__center-gripper.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["GripperCentering"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.8058, 0.6167], "loss/graspness": [2.473, 0.2624], "loss/view": [5.497, 0.6138], "loss/angle": [1.429, 1.069], "loss/depth": [2.039, 0.5945], "loss/score": [2.563, 0.9119], "loss/width": [4.953, 0.7577], "loss": [19.76, 4.826]}, "trend": {"loss/objectness": [0.8058, 0.6249, 0.224], "loss/graspness": [2.473, 0.2743, 0.889], "loss/view": [5.497, 0.6067, 0.89], "loss/angle": [1.429, 1.002, 0.299], "loss/depth": [2.039, 0.5305, 0.74], "loss/score": [2.563, 0.8519, 0.668], "loss/width": [4.953, 0.8147, 0.836], "loss": [19.76, 4.705, 0.762]}, "real_seeds": {"min": 0.747, "mean": 0.968, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.556, -1.555, -1.555], [-1.556, -1.555, -1.555]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.859, "peak_gpu_mib": 11643.5, "seconds": 101.8, "post_seconds": 0.017}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/center-gripper", "group": "post", "method": "GraspNet-baseline", "sets": ["post=center-gripper"], "slot": "post", "component": "GripperCentering", "variant": "center-gripper", "verdict": "runs", "judge": 2, "config_hash": "ffeeaf72ff909e9d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=center-gripper -o post__GraspNet-baseline__center-gripper.yaml", "probe": "grasppanda probe post__GraspNet-baseline__center-gripper.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [635, 510], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperCentering"], "grasps": [[635, 635], [510, 510]]}, "losses": {"loss/objectness": [0.7623, 0.5403], "loss/view": [0.2001, 0.07945], "loss/score": [0.05519, 0.03569], "loss/angle": [0.53, 0.4721], "loss/width": [0.6388, 0.1744], "loss/tolerance": [1.188, 0.5125], "loss": [3.374, 1.814]}, "trend": {"loss/objectness": [0.7623, 0.5598, 0.266], "loss/view": [0.2001, 0.07822, 0.609], "loss/score": [0.05519, 0.03338, 0.395], "loss/angle": [0.53, 0.4577, 0.136], "loss/width": [0.6388, 0.1831, 0.713], "loss/tolerance": [1.188, 0.5306, 0.553], "loss": [3.374, 1.843, 0.454]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-54.98, -0.9585, 15.2], [-27.34, -0.5011, 44.8]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.242, "peak_gpu_mib": 3972.1, "seconds": 13.0, "post_seconds": 0.029}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/center-gripper", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=center-gripper"], "slot": "post", "component": "GripperCentering", "variant": "center-gripper", "verdict": "runs-empty", "judge": 2, "config_hash": "109ee95af5f840da", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=center-gripper -o post__Scale-Balanced-Grasp__center-gripper.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__center-gripper.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "postprocessing": {"steps": ["GripperCentering"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.279, "peak_gpu_mib": 9615.8, "seconds": 12.7, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/center-gripper", "group": "post", "method": "HGGD", "sets": ["post=center-gripper"], "slot": "post", "component": "GripperCentering", "variant": "center-gripper", "verdict": "runs", "judge": 2, "config_hash": "efeefaf10ccffaf7", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=center-gripper -o post__HGGD__center-gripper.yaml", "probe": "grasppanda probe post__HGGD__center-gripper.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [376, 368], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperCentering"], "grasps": [[376, 376], [368, 368]]}, "losses": {"loss/heatmap": [2429.0, 3.999], "loss/angle": [4942.0, 69.75], "loss/offsets": [0.9016, 0.4746], "loss/anchor": [85.42, 3.417], "loss/anchor_offset": [1.376, 1.293], "loss": [7459.0, 78.94]}, "trend": {"loss/heatmap": [2429.0, 4.016, 0.998], "loss/angle": [4942.0, 84.65, 0.983], "loss/offsets": [0.9016, 0.4816, 0.466], "loss/anchor": [85.42, 3.228, 0.962], "loss/anchor_offset": [1.376, 1.382, -0.004], "loss": [7459.0, 93.76, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001217, 0.002084, 0.06383], [0.001215, 0.001958, 0.05429]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.747, "peak_gpu_mib": 8219.7, "seconds": 25.2, "post_seconds": 0.007}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/collision-strict", "group": "post", "method": "GSNet", "sets": ["post=collision-strict"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision-strict", "verdict": "runs", "judge": 2, "config_hash": "988341f6aaf43269", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=collision-strict -o post__GSNet__collision-strict.yaml", "probe": "grasppanda probe post__GSNet__collision-strict.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [612, 594], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[612, 76], [594, 85]]}, "losses": {"loss/objectness": [0.7893, 0.5937], "loss/graspness": [5.176, 0.4306], "loss/view": [6.291, 0.3625], "loss/score": [1.515, 0.07216], "loss/width": [3.654, 0.2595], "loss": [17.43, 1.718]}, "trend": {"loss/objectness": [0.7893, 0.6074, 0.23], "loss/graspness": [5.176, 0.3746, 0.928], "loss/view": [6.291, 0.3619, 0.942], "loss/score": [1.515, 0.08192, 0.946], "loss/width": [3.654, 0.2242, 0.939], "loss": [17.43, 1.65, 0.905]}, "real_seeds": {"min": 0.415, "mean": 0.921, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09799, 0.1577, 0.2251], [0.07883, 0.1631, 0.3158]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.276, "peak_gpu_mib": 1841.5, "seconds": 38.8, "post_seconds": 0.01}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/collision-strict", "group": "post", "method": "EconomicGrasp", "sets": ["post=collision-strict"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision-strict", "verdict": "runs", "judge": 2, "config_hash": "0ef752ba56b21951", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=collision-strict -o post__EconomicGrasp__collision-strict.yaml", "probe": "grasppanda probe post__EconomicGrasp__collision-strict.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[1024, 68], [1024, 48]]}, "losses": {"loss/objectness": [0.7845, 0.6278], "loss/graspness": [5.216, 0.2776], "loss/view": [6.545, 0.6832], "loss/angle": [3.303, 0.7792], "loss/depth": [2.236, 0.4811], "loss/score": [2.117, 0.7125], "loss/width": [8.756, 0.6952], "loss": [28.96, 4.257]}, "trend": {"loss/objectness": [0.7845, 0.6206, 0.209], "loss/graspness": [5.216, 0.3376, 0.935], "loss/view": [6.545, 0.7127, 0.891], "loss/angle": [3.303, 0.7459, 0.774], "loss/depth": [2.236, 0.4458, 0.801], "loss/score": [2.117, 0.644, 0.696], "loss/width": [8.756, 0.7162, 0.918], "loss": [28.96, 4.223, 0.854]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.491, -3.244, -2.948], [-3.638, -3.281, -3.009]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.278, "peak_gpu_mib": 2066.2, "seconds": 35.5, "post_seconds": 0.017}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/collision-strict", "group": "post", "method": "FineGrasp", "sets": ["post=collision-strict"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision-strict", "verdict": "runs", "judge": 2, "config_hash": "316564d2cb8ea19a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=collision-strict -o post__FineGrasp__collision-strict.yaml", "probe": "grasppanda probe post__FineGrasp__collision-strict.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[1024, 50], [1024, 45]]}, "losses": {"loss/objectness": [0.8058, 0.6194], "loss/graspness": [2.473, 0.2651], "loss/view": [5.497, 0.6173], "loss/angle": [1.429, 0.9747], "loss/depth": [2.039, 0.5179], "loss/score": [2.563, 0.8419], "loss/width": [4.953, 0.7899], "loss": [19.76, 4.626]}, "trend": {"loss/objectness": [0.8058, 0.6279, 0.221], "loss/graspness": [2.473, 0.2748, 0.889], "loss/view": [5.497, 0.6066, 0.89], "loss/angle": [1.429, 0.9841, 0.311], "loss/depth": [2.039, 0.527, 0.742], "loss/score": [2.563, 0.8253, 0.678], "loss/width": [4.953, 0.8225, 0.834], "loss": [19.76, 4.668, 0.764]}, "real_seeds": {"min": 0.801, "mean": 0.971, "zero_iterations": 0}, "supervised_seeds": {"min": 0.03, "mean": 0.116, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.663, -1.663, -1.663], [-1.663, -1.663, -1.663]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.737, "peak_gpu_mib": 11643.5, "seconds": 97.1, "post_seconds": 0.015}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/collision-strict", "group": "post", "method": "GraspNet-baseline", "sets": ["post=collision-strict"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision-strict", "verdict": "runs", "judge": 2, "config_hash": "60b66135be9ad2aa", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=collision-strict -o post__GraspNet-baseline__collision-strict.yaml", "probe": "grasppanda probe post__GraspNet-baseline__collision-strict.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [576, 217], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[576, 33], [217, 15]]}, "losses": {"loss/objectness": [0.7623, 0.5528], "loss/view": [0.2001, 0.07427], "loss/score": [0.05519, 0.02861], "loss/angle": [0.53, 0.4696], "loss/width": [0.6388, 0.2129], "loss/tolerance": [1.188, 0.4377], "loss": [3.374, 1.776]}, "trend": {"loss/objectness": [0.7623, 0.5942, 0.22], "loss/view": [0.2001, 0.07836, 0.608], "loss/score": [0.05519, 0.03155, 0.428], "loss/angle": [0.53, 0.4639, 0.125], "loss/width": [0.6388, 0.1711, 0.732], "loss/tolerance": [1.188, 0.5224, 0.56], "loss": [3.374, 1.862, 0.448]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-26.1, 1.495, 22.83], [-18.4, 1.108, 19.57]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.256, "peak_gpu_mib": 3972.1, "seconds": 13.5, "post_seconds": 0.02}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/collision-strict", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=collision-strict"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision-strict", "verdict": "runs-empty", "judge": 2, "config_hash": "94e73b1ad9210672", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=collision-strict -o post__Scale-Balanced-Grasp__collision-strict.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__collision-strict.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "probed alone after running out of GPU memory"], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.376, "peak_gpu_mib": 9615.8, "seconds": 14.3, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/collision-strict", "group": "post", "method": "HGGD", "sets": ["post=collision-strict"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision-strict", "verdict": "runs", "judge": 2, "config_hash": "544b356941a9048a", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=collision-strict -o post__HGGD__collision-strict.yaml", "probe": "grasppanda probe post__HGGD__collision-strict.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [376, 368], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[376, 36], [368, 17]]}, "losses": {"loss/heatmap": [2429.0, 4.002], "loss/angle": [4942.0, 76.37], "loss/offsets": [0.9016, 0.4566], "loss/anchor": [85.42, 3.251], "loss/anchor_offset": [1.376, 1.286], "loss": [7459.0, 85.37]}, "trend": {"loss/heatmap": [2429.0, 4.008, 0.998], "loss/angle": [4942.0, 87.71, 0.982], "loss/offsets": [0.9016, 0.4608, 0.489], "loss/anchor": [85.42, 3.045, 0.964], "loss/anchor_offset": [1.376, 1.396, -0.015], "loss": [7459.0, 96.62, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001774, 0.004213, 0.03377], [0.001767, 0.004208, 0.03519]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.888, "peak_gpu_mib": 8218.7, "seconds": 27.3, "post_seconds": 0.077}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/collision", "group": "post", "method": "GSNet", "sets": ["post=collision"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision", "verdict": "runs", "judge": 2, "config_hash": "bb450f391a6b3e0b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=collision -o post__GSNet__collision.yaml", "probe": "grasppanda probe post__GSNet__collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [158, 232], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[158, 23], [232, 10]]}, "losses": {"loss/objectness": [0.7893, 0.6589], "loss/graspness": [5.176, 0.4189], "loss/view": [6.291, 0.5289], "loss/score": [1.515, 0.08265], "loss/width": [3.654, 0.3545], "loss": [17.43, 2.044]}, "trend": {"loss/objectness": [0.7893, 0.6364, 0.194], "loss/graspness": [5.176, 0.3545, 0.932], "loss/view": [6.291, 0.3909, 0.938], "loss/score": [1.515, 0.08967, 0.941], "loss/width": [3.654, 0.3139, 0.914], "loss": [17.43, 1.785, 0.898]}, "real_seeds": {"min": 0.396, "mean": 0.919, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09678, 0.174, 0.2582], [0.13, 0.1909, 0.3638]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.2, "peak_gpu_mib": 1841.5, "seconds": 41.0, "post_seconds": 0.018}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/collision", "group": "post", "method": "EconomicGrasp", "sets": ["post=collision"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision", "verdict": "runs", "judge": 2, "config_hash": "0abd225944dd1600", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=collision -o post__EconomicGrasp__collision.yaml", "probe": "grasppanda probe post__EconomicGrasp__collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[1024, 74], [1024, 59]]}, "losses": {"loss/objectness": [0.7845, 0.6257], "loss/graspness": [5.216, 0.2861], "loss/view": [6.545, 0.6816], "loss/angle": [3.303, 0.7666], "loss/depth": [2.236, 0.3729], "loss/score": [2.117, 0.623], "loss/width": [8.756, 0.6951], "loss": [28.96, 4.051]}, "trend": {"loss/objectness": [0.7845, 0.6142, 0.217], "loss/graspness": [5.216, 0.3492, 0.933], "loss/view": [6.545, 0.7144, 0.891], "loss/angle": [3.303, 0.7378, 0.777], "loss/depth": [2.236, 0.429, 0.808], "loss/score": [2.117, 0.641, 0.697], "loss/width": [8.756, 0.6803, 0.922], "loss": [28.96, 4.166, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.538, -3.204, -2.83], [-3.565, -3.218, -2.709]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.257, "peak_gpu_mib": 2066.2, "seconds": 41.7, "post_seconds": 0.068}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/collision", "group": "post", "method": "FineGrasp", "sets": ["post=collision"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision", "verdict": "runs", "judge": 2, "config_hash": "82615de6ee313879", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=collision -o post__FineGrasp__collision.yaml", "probe": "grasppanda probe post__FineGrasp__collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[1024, 34], [1024, 30]]}, "losses": {"loss/objectness": [0.8058, 0.6152], "loss/graspness": [2.473, 0.2645], "loss/view": [5.497, 0.6244], "loss/angle": [1.429, 1.02], "loss/depth": [2.039, 0.5571], "loss/score": [2.563, 0.9053], "loss/width": [4.953, 0.7239], "loss": [19.76, 4.71]}, "trend": {"loss/objectness": [0.8058, 0.6241, 0.225], "loss/graspness": [2.473, 0.2748, 0.889], "loss/view": [5.497, 0.6081, 0.889], "loss/angle": [1.429, 0.9585, 0.329], "loss/depth": [2.039, 0.507, 0.751], "loss/score": [2.563, 0.8296, 0.676], "loss/width": [4.953, 0.8029, 0.838], "loss": [19.76, 4.605, 0.767]}, "real_seeds": {"min": 0.59, "mean": 0.957, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.572, -1.572, -1.572], [-1.572, -1.572, -1.572]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.816, "peak_gpu_mib": 11643.5, "seconds": 94.0, "post_seconds": 0.02}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/collision", "group": "post", "method": "GraspNet-baseline", "sets": ["post=collision"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision", "verdict": "runs", "judge": 2, "config_hash": "a49b07c2bd6a0fe0", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=collision -o post__GraspNet-baseline__collision.yaml", "probe": "grasppanda probe post__GraspNet-baseline__collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [322, 279], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[322, 11], [279, 10]]}, "losses": {"loss/objectness": [0.7623, 0.5488], "loss/view": [0.2001, 0.07825], "loss/score": [0.05519, 0.0435], "loss/angle": [0.53, 0.4759], "loss/width": [0.6388, 0.1418], "loss/tolerance": [1.188, 0.5244], "loss": [3.374, 1.813]}, "trend": {"loss/objectness": [0.7623, 0.5862, 0.231], "loss/view": [0.2001, 0.07877, 0.606], "loss/score": [0.05519, 0.03596, 0.348], "loss/angle": [0.53, 0.4731, 0.107], "loss/width": [0.6388, 0.175, 0.726], "loss/tolerance": [1.188, 0.5209, 0.562], "loss": [3.374, 1.87, 0.446]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-17.49, 0.98, 22.65], [-18.82, 0.8095, 23.72]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.27, "peak_gpu_mib": 3972.1, "seconds": 13.1, "post_seconds": 0.053}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/collision", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=collision"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision", "verdict": "runs-empty", "judge": 2, "config_hash": "cfc56c6b96324b17", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=collision -o post__Scale-Balanced-Grasp__collision.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__collision.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.488, "peak_gpu_mib": 9615.8, "seconds": 18.0, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/collision", "group": "post", "method": "HGGD", "sets": ["post=collision"], "slot": "post", "component": "ModelFreeCollisionFilter", "variant": "collision", "verdict": "runs", "judge": 2, "config_hash": "0b20a2b61b08326d", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=collision -o post__HGGD__collision.yaml", "probe": "grasppanda probe post__HGGD__collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [384, 368], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ModelFreeCollisionFilter"], "grasps": [[384, 45], [368, 55]]}, "losses": {"loss/heatmap": [2429.0, 4.005], "loss/angle": [4942.0, 73.25], "loss/offsets": [0.9016, 0.4676], "loss/anchor": [85.42, 3.415], "loss/anchor_offset": [1.376, 1.719], "loss": [7459.0, 82.86]}, "trend": {"loss/heatmap": [2429.0, 4.018, 0.998], "loss/angle": [4942.0, 85.76, 0.983], "loss/offsets": [0.9016, 0.4837, 0.463], "loss/anchor": [85.42, 3.103, 0.964], "loss/anchor_offset": [1.376, 1.25, 0.091], "loss": [7459.0, 94.61, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.0016, 0.002682, 0.02013], [0.0016, 0.00268, 0.01991]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.837, "peak_gpu_mib": 8202.7, "seconds": 27.8, "post_seconds": 0.015}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/furthest-sampling", "group": "post", "method": "GSNet", "sets": ["post=furthest-sampling"], "slot": "post", "component": "FurthestGraspSampling", "variant": "furthest-sampling", "verdict": "runs", "judge": 2, "config_hash": "cc06cd0cfd2750b8", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=furthest-sampling -o post__GSNet__furthest-sampling.yaml", "probe": "grasppanda probe post__GSNet__furthest-sampling.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [249, 314], "frames": 8, "postprocessing": {"steps": ["FurthestGraspSampling"], "grasps": [[249, 50], [314, 50]]}, "losses": {"loss/objectness": [0.7893, 0.6363], "loss/graspness": [5.176, 0.4793], "loss/view": [6.291, 0.432], "loss/score": [1.515, 0.07781], "loss/width": [3.654, 0.3865], "loss": [17.43, 2.012]}, "trend": {"loss/objectness": [0.7893, 0.6159, 0.22], "loss/graspness": [5.176, 0.3839, 0.926], "loss/view": [6.291, 0.456, 0.928], "loss/score": [1.515, 0.08577, 0.943], "loss/width": [3.654, 0.2389, 0.935], "loss": [17.43, 1.78, 0.898]}, "real_seeds": {"min": 0.389, "mean": 0.913, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08738, 0.1653, 0.2342], [0.0988, 0.1676, 0.2785]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.29, "peak_gpu_mib": 1841.5, "seconds": 37.6, "post_seconds": 0.001}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/furthest-sampling", "group": "post", "method": "EconomicGrasp", "sets": ["post=furthest-sampling"], "slot": "post", "component": "FurthestGraspSampling", "variant": "furthest-sampling", "verdict": "runs", "judge": 2, "config_hash": "6b8fec97c49ad847", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=furthest-sampling -o post__EconomicGrasp__furthest-sampling.yaml", "probe": "grasppanda probe post__EconomicGrasp__furthest-sampling.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["FurthestGraspSampling"], "grasps": [[1024, 50], [1024, 50]]}, "losses": {"loss/objectness": [0.7845, 0.6374], "loss/graspness": [5.216, 0.2775], "loss/view": [6.545, 0.6746], "loss/angle": [3.303, 0.6394], "loss/depth": [2.236, 0.3072], "loss/score": [2.117, 0.5199], "loss/width": [8.756, 0.7509], "loss": [28.96, 3.807]}, "trend": {"loss/objectness": [0.7845, 0.6237, 0.205], "loss/graspness": [5.216, 0.3326, 0.936], "loss/view": [6.545, 0.711, 0.891], "loss/angle": [3.303, 0.7033, 0.787], "loss/depth": [2.236, 0.3882, 0.826], "loss/score": [2.117, 0.5971, 0.718], "loss/width": [8.756, 0.7363, 0.916], "loss": [28.96, 4.092, 0.859]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.439, -3.133, -2.802], [-3.459, -3.177, -2.922]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.216, "peak_gpu_mib": 2066.2, "seconds": 30.8, "post_seconds": 0.003}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/furthest-sampling", "group": "post", "method": "FineGrasp", "sets": ["post=furthest-sampling"], "slot": "post", "component": "FurthestGraspSampling", "variant": "furthest-sampling", "verdict": "runs", "judge": 2, "config_hash": "9261109a7db63a3d", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=furthest-sampling -o post__FineGrasp__furthest-sampling.yaml", "probe": "grasppanda probe post__FineGrasp__furthest-sampling.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["FurthestGraspSampling"], "grasps": [[1024, 50], [1024, 50]]}, "losses": {"loss/objectness": [0.8058, 0.6168], "loss/graspness": [2.473, 0.2653], "loss/view": [5.497, 0.6144], "loss/angle": [1.429, 0.9387], "loss/depth": [2.039, 0.4844], "loss/score": [2.563, 0.8315], "loss/width": [4.953, 0.7511], "loss": [19.76, 4.502]}, "trend": {"loss/objectness": [0.8058, 0.6251, 0.224], "loss/graspness": [2.473, 0.2769, 0.888], "loss/view": [5.497, 0.6061, 0.89], "loss/angle": [1.429, 1.023, 0.284], "loss/depth": [2.039, 0.5361, 0.737], "loss/score": [2.563, 0.8595, 0.665], "loss/width": [4.953, 0.8102, 0.836], "loss": [19.76, 4.737, 0.76]}, "real_seeds": {"min": 0.375, "mean": 0.936, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.113, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.612, -1.612, -1.611], [-1.612, -1.612, -1.611]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.807, "peak_gpu_mib": 11643.5, "seconds": 86.9, "post_seconds": 0.005}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/furthest-sampling", "group": "post", "method": "GraspNet-baseline", "sets": ["post=furthest-sampling"], "slot": "post", "component": "FurthestGraspSampling", "variant": "furthest-sampling", "verdict": "runs", "judge": 2, "config_hash": "ea58e4adae987027", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=furthest-sampling -o post__GraspNet-baseline__furthest-sampling.yaml", "probe": "grasppanda probe post__GraspNet-baseline__furthest-sampling.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [563, 464], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["FurthestGraspSampling"], "grasps": [[563, 50], [464, 50]]}, "losses": {"loss/objectness": [0.7623, 0.5489], "loss/view": [0.2001, 0.07772], "loss/score": [0.05519, 0.03157], "loss/angle": [0.53, 0.4676], "loss/width": [0.6388, 0.1588], "loss/tolerance": [1.188, 0.4727], "loss": [3.374, 1.757]}, "trend": {"loss/objectness": [0.7623, 0.5695, 0.253], "loss/view": [0.2001, 0.07917, 0.604], "loss/score": [0.05519, 0.03083, 0.441], "loss/angle": [0.53, 0.4598, 0.132], "loss/width": [0.6388, 0.1692, 0.735], "loss/tolerance": [1.188, 0.471, 0.603], "loss": [3.374, 1.78, 0.473]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-29.9, 0.8006, 43.22], [-40.15, 0.6497, 23.3]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 3972.1, "seconds": 12.9, "post_seconds": 0.001}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/furthest-sampling", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=furthest-sampling"], "slot": "post", "component": "FurthestGraspSampling", "variant": "furthest-sampling", "verdict": "runs-empty", "judge": 2, "config_hash": "122b5cf76797faf4", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=furthest-sampling -o post__Scale-Balanced-Grasp__furthest-sampling.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__furthest-sampling.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["FurthestGraspSampling"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.515, "peak_gpu_mib": 9615.8, "seconds": 18.2, "post_seconds": 0.005}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/furthest-sampling", "group": "post", "method": "HGGD", "sets": ["post=furthest-sampling"], "slot": "post", "component": "FurthestGraspSampling", "variant": "furthest-sampling", "verdict": "runs", "judge": 2, "config_hash": "f01b4f8a1dcb1c56", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=furthest-sampling -o post__HGGD__furthest-sampling.yaml", "probe": "grasppanda probe post__HGGD__furthest-sampling.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [329, 329], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["FurthestGraspSampling"], "grasps": [[329, 50], [329, 50]]}, "losses": {"loss/heatmap": [2429.0, 4.013], "loss/angle": [4942.0, 72.7], "loss/offsets": [0.9016, 0.4574], "loss/anchor": [85.42, 3.261], "loss/anchor_offset": [1.376, 1.452], "loss": [7459.0, 81.88]}, "trend": {"loss/heatmap": [2429.0, 4.024, 0.998], "loss/angle": [4942.0, 85.61, 0.983], "loss/offsets": [0.9016, 0.4772, 0.471], "loss/anchor": [85.42, 3.135, 0.963], "loss/anchor_offset": [1.376, 1.245, 0.095], "loss": [7459.0, 94.49, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.00166, 0.00307, 0.03889], [0.001667, 0.003066, 0.03912]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.724, "peak_gpu_mib": 8203.0, "seconds": 25.9, "post_seconds": 0.001}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/gripper-limits", "group": "post", "method": "GSNet", "sets": ["post=gripper-limits"], "slot": "post", "component": "GripperLimits", "variant": "gripper-limits", "verdict": "runs", "judge": 2, "config_hash": "09ac5f59980c28da", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=gripper-limits -o post__GSNet__gripper-limits.yaml", "probe": "grasppanda probe post__GSNet__gripper-limits.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [262, 306], "frames": 8, "postprocessing": {"steps": ["GripperLimits"], "grasps": [[262, 262], [306, 306]]}, "losses": {"loss/objectness": [0.7893, 0.6144], "loss/graspness": [5.176, 0.4656], "loss/view": [6.291, 0.3229], "loss/score": [1.515, 0.07043], "loss/width": [3.654, 0.2535], "loss": [17.43, 1.727]}, "trend": {"loss/objectness": [0.7893, 0.6153, 0.22], "loss/graspness": [5.176, 0.3775, 0.927], "loss/view": [6.291, 0.347, 0.945], "loss/score": [1.515, 0.0829, 0.945], "loss/width": [3.654, 0.244, 0.933], "loss": [17.43, 1.667, 0.904]}, "real_seeds": {"min": 0.441, "mean": 0.921, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1074, 0.152, 0.2002], [0.107, 0.1554, 0.2851]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.191, "peak_gpu_mib": 1841.5, "seconds": 32.5, "post_seconds": 0.014}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/gripper-limits", "group": "post", "method": "EconomicGrasp", "sets": ["post=gripper-limits"], "slot": "post", "component": "GripperLimits", "variant": "gripper-limits", "verdict": "runs", "judge": 2, "config_hash": "85f0af9d8e0648fb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=gripper-limits -o post__EconomicGrasp__gripper-limits.yaml", "probe": "grasppanda probe post__EconomicGrasp__gripper-limits.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["GripperLimits"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.7845, 0.6231], "loss/graspness": [5.216, 0.2791], "loss/view": [6.545, 0.689], "loss/angle": [3.303, 0.7353], "loss/depth": [2.236, 0.4141], "loss/score": [2.117, 0.6005], "loss/width": [8.756, 0.7353], "loss": [28.96, 4.076]}, "trend": {"loss/objectness": [0.7845, 0.6148, 0.216], "loss/graspness": [5.216, 0.3487, 0.933], "loss/view": [6.545, 0.716, 0.891], "loss/angle": [3.303, 0.7908, 0.761], "loss/depth": [2.236, 0.4628, 0.793], "loss/score": [2.117, 0.6753, 0.681], "loss/width": [8.756, 0.7117, 0.919], "loss": [28.96, 4.32, 0.851]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.445, -3.101, -2.498], [-3.503, -3.119, -2.824]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.157, "peak_gpu_mib": 2066.2, "seconds": 34.1, "post_seconds": 0.015}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/gripper-limits", "group": "post", "method": "FineGrasp", "sets": ["post=gripper-limits"], "slot": "post", "component": "GripperLimits", "variant": "gripper-limits", "verdict": "runs", "judge": 2, "config_hash": "588c65893e676940", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=gripper-limits -o post__FineGrasp__gripper-limits.yaml", "probe": "grasppanda probe post__FineGrasp__gripper-limits.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["GripperLimits"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.8058, 0.6162], "loss/graspness": [2.473, 0.2669], "loss/view": [5.497, 0.6158], "loss/angle": [1.429, 1.056], "loss/depth": [2.039, 0.5922], "loss/score": [2.563, 0.9088], "loss/width": [4.953, 0.7825], "loss": [19.76, 4.838]}, "trend": {"loss/objectness": [0.8058, 0.625, 0.224], "loss/graspness": [2.473, 0.278, 0.888], "loss/view": [5.497, 0.6062, 0.89], "loss/angle": [1.429, 1.042, 0.271], "loss/depth": [2.039, 0.5631, 0.724], "loss/score": [2.563, 0.8723, 0.66], "loss/width": [4.953, 0.7852, 0.841], "loss": [19.76, 4.772, 0.759]}, "real_seeds": {"min": 0.856, "mean": 0.977, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.789, -1.788, -1.788], [-1.789, -1.788, -1.788]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.789, "peak_gpu_mib": 11643.5, "seconds": 84.3, "post_seconds": 0.0}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/gripper-limits", "group": "post", "method": "GraspNet-baseline", "sets": ["post=gripper-limits"], "slot": "post", "component": "GripperLimits", "variant": "gripper-limits", "verdict": "runs", "judge": 2, "config_hash": "c0b4943b834fdb91", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=gripper-limits -o post__GraspNet-baseline__gripper-limits.yaml", "probe": "grasppanda probe post__GraspNet-baseline__gripper-limits.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [507, 518], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperLimits"], "grasps": [[507, 170], [518, 214]]}, "losses": {"loss/objectness": [0.7623, 0.5291], "loss/view": [0.2001, 0.07318], "loss/score": [0.05519, 0.04995], "loss/angle": [0.53, 0.4727], "loss/width": [0.6388, 0.178], "loss/tolerance": [1.188, 0.3837], "loss": [3.374, 1.687]}, "trend": {"loss/objectness": [0.7623, 0.6027, 0.209], "loss/view": [0.2001, 0.07874, 0.607], "loss/score": [0.05519, 0.04094, 0.258], "loss/angle": [0.53, 0.4647, 0.123], "loss/width": [0.6388, 0.1819, 0.715], "loss/tolerance": [1.188, 0.4597, 0.613], "loss": [3.374, 1.829, 0.458]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-17.63, 0.06257, 18.79], [-38.97, 0.0691, 18.89]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.207, "peak_gpu_mib": 3972.1, "seconds": 12.0, "post_seconds": 0.02}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/gripper-limits", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=gripper-limits"], "slot": "post", "component": "GripperLimits", "variant": "gripper-limits", "verdict": "runs-empty", "judge": 2, "config_hash": "c5afcaac9b486c52", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=gripper-limits -o post__Scale-Balanced-Grasp__gripper-limits.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__gripper-limits.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperLimits"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.613, "peak_gpu_mib": 9615.8, "seconds": 19.7, "post_seconds": 0.002}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/gripper-limits", "group": "post", "method": "HGGD", "sets": ["post=gripper-limits"], "slot": "post", "component": "GripperLimits", "variant": "gripper-limits", "verdict": "runs", "judge": 2, "config_hash": "874ebe4746f773db", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=gripper-limits -o post__HGGD__gripper-limits.yaml", "probe": "grasppanda probe post__HGGD__gripper-limits.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [288, 282], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperLimits"], "grasps": [[288, 135], [282, 138]]}, "losses": {"loss/heatmap": [2429.0, 4.001], "loss/angle": [4942.0, 75.13], "loss/offsets": [0.9016, 0.4713], "loss/anchor": [85.42, 3.403], "loss/anchor_offset": [1.376, 1.279], "loss": [7459.0, 84.29]}, "trend": {"loss/heatmap": [2429.0, 4.014, 0.998], "loss/angle": [4942.0, 87.14, 0.982], "loss/offsets": [0.9016, 0.4749, 0.473], "loss/anchor": [85.42, 3.203, 0.963], "loss/anchor_offset": [1.376, 1.165, 0.153], "loss": [7459.0, 96.0, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001641, 0.004237, 0.06323], [0.001641, 0.004244, 0.06333]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.978, "peak_gpu_mib": 8203.6, "seconds": 32.6, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/mesh-collision", "group": "post", "method": "GSNet", "sets": ["post=mesh-collision"], "slot": "post", "component": "GripperMeshCollisionFilter", "variant": "mesh-collision", "verdict": "runs", "judge": 2, "config_hash": "5c4c463f85da42a1", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=mesh-collision -o post__GSNet__mesh-collision.yaml", "probe": "grasppanda probe post__GSNet__mesh-collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [242, 285], "frames": 8, "postprocessing": {"steps": ["GripperMeshCollisionFilter"], "grasps": [[242, 48], [285, 15]]}, "losses": {"loss/objectness": [0.7893, 0.5807], "loss/graspness": [5.176, 0.4363], "loss/view": [6.291, 1.349], "loss/score": [1.515, 0.08168], "loss/width": [3.654, 0.3406], "loss": [17.43, 2.788]}, "trend": {"loss/objectness": [0.7893, 0.5965, 0.244], "loss/graspness": [5.176, 0.375, 0.928], "loss/view": [6.291, 0.5414, 0.914], "loss/score": [1.515, 0.08708, 0.943], "loss/width": [3.654, 0.2441, 0.933], "loss": [17.43, 1.844, 0.894]}, "real_seeds": {"min": 0.341, "mean": 0.907, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1125, 0.1729, 0.2272], [0.1244, 0.1689, 0.244]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.198, "peak_gpu_mib": 1841.5, "seconds": 41.7, "post_seconds": 0.434}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/mesh-collision", "group": "post", "method": "EconomicGrasp", "sets": ["post=mesh-collision"], "slot": "post", "component": "GripperMeshCollisionFilter", "variant": "mesh-collision", "verdict": "runs", "judge": 2, "config_hash": "ec8c84147b4c7bdf", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=mesh-collision -o post__EconomicGrasp__mesh-collision.yaml", "probe": "grasppanda probe post__EconomicGrasp__mesh-collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["GripperMeshCollisionFilter"], "grasps": [[1024, 137], [1024, 151]]}, "losses": {"loss/objectness": [0.7845, 0.6378], "loss/graspness": [5.216, 0.2808], "loss/view": [6.545, 0.679], "loss/angle": [3.303, 0.6497], "loss/depth": [2.236, 0.3847], "loss/score": [2.117, 0.5793], "loss/width": [8.756, 0.7008], "loss": [28.96, 3.912]}, "trend": {"loss/objectness": [0.7845, 0.6254, 0.203], "loss/graspness": [5.216, 0.3291, 0.937], "loss/view": [6.545, 0.7045, 0.892], "loss/angle": [3.303, 0.7395, 0.776], "loss/depth": [2.236, 0.4259, 0.81], "loss/score": [2.117, 0.637, 0.699], "loss/width": [8.756, 0.6868, 0.922], "loss": [28.96, 4.148, 0.857]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.387, -3.163, -2.737], [-3.541, -3.196, -2.907]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.223, "peak_gpu_mib": 2066.2, "seconds": 39.4, "post_seconds": 0.47}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/mesh-collision", "group": "post", "method": "FineGrasp", "sets": ["post=mesh-collision"], "slot": "post", "component": "GripperMeshCollisionFilter", "variant": "mesh-collision", "verdict": "runs", "judge": 2, "config_hash": "fd11dea255f93fcb", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=mesh-collision -o post__FineGrasp__mesh-collision.yaml", "probe": "grasppanda probe post__FineGrasp__mesh-collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["GripperMeshCollisionFilter"], "grasps": [[1024, 129], [1024, 126]]}, "losses": {"loss/objectness": [0.8058, 0.6186], "loss/graspness": [2.473, 0.2636], "loss/view": [5.497, 0.6133], "loss/angle": [1.429, 1.031], "loss/depth": [2.039, 0.5629], "loss/score": [2.563, 0.8901], "loss/width": [4.953, 0.7743], "loss": [19.76, 4.754]}, "trend": {"loss/objectness": [0.8058, 0.6259, 0.223], "loss/graspness": [2.473, 0.2762, 0.888], "loss/view": [5.497, 0.6072, 0.89], "loss/angle": [1.429, 1.026, 0.282], "loss/depth": [2.039, 0.5477, 0.731], "loss/score": [2.563, 0.8633, 0.663], "loss/width": [4.953, 0.8131, 0.836], "loss": [19.76, 4.76, 0.759]}, "real_seeds": {"min": 0.735, "mean": 0.966, "zero_iterations": 0}, "supervised_seeds": {"min": 0.03, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.668, -1.668, -1.668], [-1.668, -1.668, -1.668]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.697, "peak_gpu_mib": 11643.5, "seconds": 86.6, "post_seconds": 0.238}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/mesh-collision", "group": "post", "method": "GraspNet-baseline", "sets": ["post=mesh-collision"], "slot": "post", "component": "GripperMeshCollisionFilter", "variant": "mesh-collision", "verdict": "runs", "judge": 2, "config_hash": "6589ba7d0a19e986", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=mesh-collision -o post__GraspNet-baseline__mesh-collision.yaml", "probe": "grasppanda probe post__GraspNet-baseline__mesh-collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [521, 563], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperMeshCollisionFilter"], "grasps": [[521, 40], [563, 49]]}, "losses": {"loss/objectness": [0.7623, 0.5795], "loss/view": [0.2001, 0.07898], "loss/score": [0.05519, 0.04105], "loss/angle": [0.53, 0.4686], "loss/width": [0.6388, 0.1315], "loss/tolerance": [1.188, 0.3703], "loss": [3.374, 1.67]}, "trend": {"loss/objectness": [0.7623, 0.59, 0.226], "loss/view": [0.2001, 0.07942, 0.603], "loss/score": [0.05519, 0.03614, 0.345], "loss/angle": [0.53, 0.4646, 0.123], "loss/width": [0.6388, 0.1619, 0.747], "loss/tolerance": [1.188, 0.4618, 0.611], "loss": [3.374, 1.794, 0.468]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-71.8, -1.141, 14.98], [-63.81, -1.22, 14.45]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.316, "peak_gpu_mib": 3972.1, "seconds": 14.3, "post_seconds": 0.203}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/mesh-collision", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=mesh-collision"], "slot": "post", "component": "GripperMeshCollisionFilter", "variant": "mesh-collision", "verdict": "runs-empty", "judge": 2, "config_hash": "f6df7ad0bf8ef1ef", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=mesh-collision -o post__Scale-Balanced-Grasp__mesh-collision.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__mesh-collision.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperMeshCollisionFilter"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.548, "peak_gpu_mib": 9615.8, "seconds": 18.9, "post_seconds": 0.003}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/mesh-collision", "group": "post", "method": "HGGD", "sets": ["post=mesh-collision"], "slot": "post", "component": "GripperMeshCollisionFilter", "variant": "mesh-collision", "verdict": "runs", "judge": 2, "config_hash": "8078119430e94503", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=mesh-collision -o post__HGGD__mesh-collision.yaml", "probe": "grasppanda probe post__HGGD__mesh-collision.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [329, 322], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperMeshCollisionFilter"], "grasps": [[329, 44], [322, 38]]}, "losses": {"loss/heatmap": [2429.0, 3.992], "loss/angle": [4942.0, 75.67], "loss/offsets": [0.9016, 0.4646], "loss/anchor": [85.42, 3.308], "loss/anchor_offset": [1.376, 1.544], "loss": [7459.0, 84.98]}, "trend": {"loss/heatmap": [2429.0, 4.011, 0.998], "loss/angle": [4942.0, 87.45, 0.982], "loss/offsets": [0.9016, 0.479, 0.469], "loss/anchor": [85.42, 3.166, 0.963], "loss/anchor_offset": [1.376, 1.229, 0.107], "loss": [7459.0, 96.33, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001766, 0.002794, 0.01264], [0.001764, 0.002678, 0.01191]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.923, "peak_gpu_mib": 8203.8, "seconds": 31.6, "post_seconds": 0.208}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/nms", "group": "post", "method": "GSNet", "sets": ["post=nms"], "slot": "post", "component": "GraspNMS", "variant": "nms", "verdict": "runs", "judge": 2, "config_hash": "01f14e2205613efd", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=nms -o post__GSNet__nms.yaml", "probe": "grasppanda probe post__GSNet__nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [252, 289], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[252, 85], [289, 89]]}, "losses": {"loss/objectness": [0.7893, 0.6527], "loss/graspness": [5.176, 0.3977], "loss/view": [6.291, 0.3734], "loss/score": [1.515, 0.08191], "loss/width": [3.654, 0.2652], "loss": [17.43, 1.771]}, "trend": {"loss/objectness": [0.7893, 0.6152, 0.221], "loss/graspness": [5.176, 0.3676, 0.929], "loss/view": [6.291, 0.4459, 0.929], "loss/score": [1.515, 0.08609, 0.943], "loss/width": [3.654, 0.2708, 0.926], "loss": [17.43, 1.786, 0.898]}, "real_seeds": {"min": 0.369, "mean": 0.902, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1042, 0.1687, 0.2544], [0.1029, 0.1767, 0.3513]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.188, "peak_gpu_mib": 1841.5, "seconds": 35.5, "post_seconds": 0.031}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/nms", "group": "post", "method": "EconomicGrasp", "sets": ["post=nms"], "slot": "post", "component": "GraspNMS", "variant": "nms", "verdict": "runs", "judge": 2, "config_hash": "a0304eb249e968fb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=nms -o post__EconomicGrasp__nms.yaml", "probe": "grasppanda probe post__EconomicGrasp__nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[1024, 353], [1024, 387]]}, "losses": {"loss/objectness": [0.7845, 0.6224], "loss/graspness": [5.216, 0.2956], "loss/view": [6.545, 0.69], "loss/angle": [3.303, 0.8499], "loss/depth": [2.236, 0.4875], "loss/score": [2.117, 0.7275], "loss/width": [8.756, 0.6099], "loss": [28.96, 4.283]}, "trend": {"loss/objectness": [0.7845, 0.6119, 0.22], "loss/graspness": [5.216, 0.3412, 0.935], "loss/view": [6.545, 0.7166, 0.891], "loss/angle": [3.303, 0.7805, 0.764], "loss/depth": [2.236, 0.4131, 0.815], "loss/score": [2.117, 0.6672, 0.685], "loss/width": [8.756, 0.6768, 0.923], "loss": [28.96, 4.207, 0.855]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.566, -3.203, -2.621], [-3.533, -3.254, -2.988]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.336, "peak_gpu_mib": 2066.2, "seconds": 38.9, "post_seconds": 0.851}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/nms", "group": "post", "method": "FineGrasp", "sets": ["post=nms"], "slot": "post", "component": "GraspNMS", "variant": "nms", "verdict": "runs", "judge": 2, "config_hash": "887e7f4826844f4b", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=nms -o post__FineGrasp__nms.yaml", "probe": "grasppanda probe post__FineGrasp__nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[1024, 317], [1024, 306]]}, "losses": {"loss/objectness": [0.8058, 0.6161], "loss/graspness": [2.473, 0.2652], "loss/view": [5.497, 0.618], "loss/angle": [1.429, 1.084], "loss/depth": [2.039, 0.5616], "loss/score": [2.563, 0.8993], "loss/width": [4.953, 0.7857], "loss": [19.76, 4.83]}, "trend": {"loss/objectness": [0.8058, 0.6257, 0.223], "loss/graspness": [2.473, 0.2742, 0.889], "loss/view": [5.497, 0.608, 0.889], "loss/angle": [1.429, 1.038, 0.274], "loss/depth": [2.039, 0.5647, 0.723], "loss/score": [2.563, 0.8758, 0.658], "loss/width": [4.953, 0.812, 0.836], "loss": [19.76, 4.798, 0.757]}, "real_seeds": {"min": 0.856, "mean": 0.986, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.736, -1.736, -1.735], [-1.736, -1.736, -1.736]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.784, "peak_gpu_mib": 11643.5, "seconds": 81.2, "post_seconds": 0.072}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/nms", "group": "post", "method": "GraspNet-baseline", "sets": ["post=nms"], "slot": "post", "component": "GraspNMS", "variant": "nms", "verdict": "runs", "judge": 2, "config_hash": "7d313ed57f47e4ab", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=nms -o post__GraspNet-baseline__nms.yaml", "probe": "grasppanda probe post__GraspNet-baseline__nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [523, 212], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[523, 296], [212, 97]]}, "losses": {"loss/objectness": [0.7623, 0.5491], "loss/view": [0.2001, 0.07539], "loss/score": [0.05519, 0.03919], "loss/angle": [0.53, 0.4758], "loss/width": [0.6388, 0.1981], "loss/tolerance": [1.188, 0.4946], "loss": [3.374, 1.832]}, "trend": {"loss/objectness": [0.7623, 0.5749, 0.246], "loss/view": [0.2001, 0.07917, 0.604], "loss/score": [0.05519, 0.03594, 0.349], "loss/angle": [0.53, 0.4676, 0.118], "loss/width": [0.6388, 0.1748, 0.726], "loss/tolerance": [1.188, 0.5095, 0.571], "loss": [3.374, 1.842, 0.454]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-23.96, 0.04742, 11.8], [-13.2, 0.2828, 10.05]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.346, "peak_gpu_mib": 3972.1, "seconds": 14.9, "post_seconds": 0.06}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/nms", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=nms"], "slot": "post", "component": "GraspNMS", "variant": "nms", "verdict": "runs-empty", "judge": 2, "config_hash": "58f6586f542fd5c1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=nms -o post__Scale-Balanced-Grasp__nms.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__nms.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.616, "peak_gpu_mib": 9615.8, "seconds": 19.8, "post_seconds": 0.005}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/nms", "group": "post", "method": "HGGD", "sets": ["post=nms"], "slot": "post", "component": "GraspNMS", "variant": "nms", "verdict": "runs", "judge": 2, "config_hash": "34e740a6cea20b26", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=nms -o post__HGGD__nms.yaml", "probe": "grasppanda probe post__HGGD__nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [374, 367], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[374, 132], [367, 108]]}, "losses": {"loss/heatmap": [2429.0, 4.019], "loss/angle": [4942.0, 71.5], "loss/offsets": [0.9016, 0.4823], "loss/anchor": [85.42, 3.24], "loss/anchor_offset": [1.376, 0.7092], "loss": [7459.0, 79.95]}, "trend": {"loss/heatmap": [2429.0, 4.026, 0.998], "loss/angle": [4942.0, 84.97, 0.983], "loss/offsets": [0.9016, 0.4923, 0.454], "loss/anchor": [85.42, 3.2, 0.963], "loss/anchor_offset": [1.376, 1.101, 0.2], "loss": [7459.0, 93.79, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001204, 0.002412, 0.05687], [0.001204, 0.002412, 0.05051]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.979, "peak_gpu_mib": 8218.8, "seconds": 30.9, "post_seconds": 0.028}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/score-threshold", "group": "post", "method": "GSNet", "sets": ["post=score-threshold"], "slot": "post", "component": "ScoreThreshold", "variant": "score-threshold", "verdict": "runs", "judge": 2, "config_hash": "1199b59e3f76f798", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=score-threshold -o post__GSNet__score-threshold.yaml", "probe": "grasppanda probe post__GSNet__score-threshold.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [454, 458], "frames": 8, "postprocessing": {"steps": ["ScoreThreshold"], "grasps": [[454, 227], [458, 229]]}, "losses": {"loss/objectness": [0.7893, 0.6068], "loss/graspness": [5.176, 0.4598], "loss/view": [6.291, 0.3647], "loss/score": [1.515, 0.08918], "loss/width": [3.654, 0.2879], "loss": [17.43, 1.808]}, "trend": {"loss/objectness": [0.7893, 0.608, 0.23], "loss/graspness": [5.176, 0.382, 0.926], "loss/view": [6.291, 0.3891, 0.938], "loss/score": [1.515, 0.09219, 0.939], "loss/width": [3.654, 0.2441, 0.933], "loss": [17.43, 1.715, 0.902]}, "real_seeds": {"min": 0.357, "mean": 0.906, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.104, 0.1661, 0.2614], [0.117, 0.1541, 0.3339]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 1841.5, "seconds": 37.8, "post_seconds": 0.003}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/score-threshold", "group": "post", "method": "EconomicGrasp", "sets": ["post=score-threshold"], "slot": "post", "component": "ScoreThreshold", "variant": "score-threshold", "verdict": "runs", "judge": 2, "config_hash": "ac86b3a8d3d2ace3", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=score-threshold -o post__EconomicGrasp__score-threshold.yaml", "probe": "grasppanda probe post__EconomicGrasp__score-threshold.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["ScoreThreshold"], "grasps": [[1024, 512], [1024, 512]]}, "losses": {"loss/objectness": [0.7845, 0.6265], "loss/graspness": [5.216, 0.283], "loss/view": [6.545, 0.6833], "loss/angle": [3.303, 0.7499], "loss/depth": [2.236, 0.3981], "loss/score": [2.117, 0.6325], "loss/width": [8.756, 0.6619], "loss": [28.96, 4.035]}, "trend": {"loss/objectness": [0.7845, 0.6186, 0.211], "loss/graspness": [5.216, 0.3328, 0.936], "loss/view": [6.545, 0.7098, 0.892], "loss/angle": [3.303, 0.7394, 0.776], "loss/depth": [2.236, 0.4101, 0.817], "loss/score": [2.117, 0.6229, 0.706], "loss/width": [8.756, 0.6824, 0.922], "loss": [28.96, 4.116, 0.858]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.42, -3.169, -2.343], [-3.518, -3.162, -2.894]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.241, "peak_gpu_mib": 2066.2, "seconds": 37.1, "post_seconds": 0.009}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/score-threshold", "group": "post", "method": "FineGrasp", "sets": ["post=score-threshold"], "slot": "post", "component": "ScoreThreshold", "variant": "score-threshold", "verdict": "runs", "judge": 2, "config_hash": "eaad553a20b6d7ef", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=score-threshold -o post__FineGrasp__score-threshold.yaml", "probe": "grasppanda probe post__FineGrasp__score-threshold.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["ScoreThreshold"], "grasps": [[1024, 513], [1024, 512]]}, "losses": {"loss/objectness": [0.8058, 0.6179], "loss/graspness": [2.473, 0.2649], "loss/view": [5.497, 0.6195], "loss/angle": [1.429, 1.059], "loss/depth": [2.039, 0.5855], "loss/score": [2.563, 0.9174], "loss/width": [4.953, 0.7354], "loss": [19.76, 4.799]}, "trend": {"loss/objectness": [0.8058, 0.6263, 0.223], "loss/graspness": [2.473, 0.2747, 0.889], "loss/view": [5.497, 0.6068, 0.89], "loss/angle": [1.429, 0.9823, 0.313], "loss/depth": [2.039, 0.5297, 0.74], "loss/score": [2.563, 0.8426, 0.671], "loss/width": [4.953, 0.8077, 0.837], "loss": [19.76, 4.67, 0.764]}, "real_seeds": {"min": 0.857, "mean": 0.983, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.642, -1.642, -1.642], [-1.642, -1.642, -1.642]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.736, "peak_gpu_mib": 11643.5, "seconds": 80.9, "post_seconds": 0.005}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/score-threshold", "group": "post", "method": "GraspNet-baseline", "sets": ["post=score-threshold"], "slot": "post", "component": "ScoreThreshold", "variant": "score-threshold", "verdict": "runs", "judge": 2, "config_hash": "dc1c38063838a615", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=score-threshold -o post__GraspNet-baseline__score-threshold.yaml", "probe": "grasppanda probe post__GraspNet-baseline__score-threshold.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [388, 449], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ScoreThreshold"], "grasps": [[388, 194], [449, 225]]}, "losses": {"loss/objectness": [0.7623, 0.5456], "loss/view": [0.2001, 0.07782], "loss/score": [0.05519, 0.0374], "loss/angle": [0.53, 0.4749], "loss/width": [0.6388, 0.1746], "loss/tolerance": [1.188, 0.6002], "loss": [3.374, 1.911]}, "trend": {"loss/objectness": [0.7623, 0.5806, 0.238], "loss/view": [0.2001, 0.07828, 0.609], "loss/score": [0.05519, 0.02997, 0.457], "loss/angle": [0.53, 0.4656, 0.121], "loss/width": [0.6388, 0.1684, 0.736], "loss/tolerance": [1.188, 0.5788, 0.513], "loss": [3.374, 1.902, 0.436]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-24.69, 0.5499, 18.53], [-16.21, 0.2253, 20.39]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.307, "peak_gpu_mib": 3972.1, "seconds": 13.9, "post_seconds": 0.028}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/score-threshold", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=score-threshold"], "slot": "post", "component": "ScoreThreshold", "variant": "score-threshold", "verdict": "runs-empty", "judge": 2, "config_hash": "7c2ca90023a89f42", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=score-threshold -o post__Scale-Balanced-Grasp__score-threshold.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__score-threshold.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ScoreThreshold"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.551, "peak_gpu_mib": 9615.8, "seconds": 18.5, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/score-threshold", "group": "post", "method": "HGGD", "sets": ["post=score-threshold"], "slot": "post", "component": "ScoreThreshold", "variant": "score-threshold", "verdict": "runs", "judge": 2, "config_hash": "52085cb1356830a2", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=score-threshold -o post__HGGD__score-threshold.yaml", "probe": "grasppanda probe post__HGGD__score-threshold.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [325, 324], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ScoreThreshold"], "grasps": [[325, 163], [324, 162]]}, "losses": {"loss/heatmap": [2429.0, 4.01], "loss/angle": [4942.0, 72.24], "loss/offsets": [0.9016, 0.4597], "loss/anchor": [85.42, 3.386], "loss/anchor_offset": [1.376, 1.508], "loss": [7459.0, 81.6]}, "trend": {"loss/heatmap": [2429.0, 4.024, 0.998], "loss/angle": [4942.0, 85.85, 0.983], "loss/offsets": [0.9016, 0.4784, 0.469], "loss/anchor": [85.42, 3.082, 0.964], "loss/anchor_offset": [1.376, 1.384, -0.006], "loss": [7459.0, 94.82, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001502, 0.003005, 0.01415], [0.001503, 0.003011, 0.01407]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.936, "peak_gpu_mib": 8232.7, "seconds": 31.9, "post_seconds": 0.002}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/table-plane", "group": "post", "method": "GSNet", "sets": ["post=table-plane"], "slot": "post", "component": "TablePlaneFilter", "variant": "table-plane", "verdict": "runs", "judge": 2, "config_hash": "84eea5100d169aaf", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=table-plane -o post__GSNet__table-plane.yaml", "probe": "grasppanda probe post__GSNet__table-plane.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [188, 193], "frames": 8, "postprocessing": {"steps": ["TablePlaneFilter"], "grasps": [[188, 55], [193, 63]]}, "losses": {"loss/objectness": [0.7893, 0.6159], "loss/graspness": [5.176, 0.4769], "loss/view": [6.291, 0.2781], "loss/score": [1.515, 0.09383], "loss/width": [3.654, 0.5202], "loss": [17.43, 1.985]}, "trend": {"loss/objectness": [0.7893, 0.612, 0.225], "loss/graspness": [5.176, 0.3777, 0.927], "loss/view": [6.291, 0.3422, 0.946], "loss/score": [1.515, 0.09324, 0.938], "loss/width": [3.654, 0.3386, 0.907], "loss": [17.43, 1.764, 0.899]}, "real_seeds": {"min": 0.335, "mean": 0.906, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1154, 0.1589, 0.2278], [0.115, 0.1822, 0.3542]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.156, "peak_gpu_mib": 1841.5, "seconds": 28.8, "post_seconds": 0.021}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/table-plane", "group": "post", "method": "EconomicGrasp", "sets": ["post=table-plane"], "slot": "post", "component": "TablePlaneFilter", "variant": "table-plane", "verdict": "runs", "judge": 2, "config_hash": "e0e2655f960e3ed6", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=table-plane -o post__EconomicGrasp__table-plane.yaml", "probe": "grasppanda probe post__EconomicGrasp__table-plane.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["TablePlaneFilter"], "grasps": [[1024, 420], [1024, 545]]}, "losses": {"loss/objectness": [0.7845, 0.6305], "loss/graspness": [5.216, 0.283], "loss/view": [6.545, 0.6819], "loss/angle": [3.303, 0.6824], "loss/depth": [2.236, 0.3851], "loss/score": [2.117, 0.5916], "loss/width": [8.756, 0.7141], "loss": [28.96, 3.969]}, "trend": {"loss/objectness": [0.7845, 0.6214, 0.208], "loss/graspness": [5.216, 0.3298, 0.937], "loss/view": [6.545, 0.7095, 0.892], "loss/angle": [3.303, 0.7491, 0.773], "loss/depth": [2.236, 0.4177, 0.813], "loss/score": [2.117, 0.6329, 0.701], "loss/width": [8.756, 0.7503, 0.914], "loss": [28.96, 4.211, 0.855]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.441, -3.157, -2.878], [-3.438, -3.191, -2.497]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.952, "peak_gpu_mib": 2066.2, "seconds": 39.9, "post_seconds": 0.018}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/table-plane", "group": "post", "method": "FineGrasp", "sets": ["post=table-plane"], "slot": "post", "component": "TablePlaneFilter", "variant": "table-plane", "verdict": "runs", "judge": 2, "config_hash": "cfdb07a866973d53", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=table-plane -o post__FineGrasp__table-plane.yaml", "probe": "grasppanda probe post__FineGrasp__table-plane.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["TablePlaneFilter"], "grasps": [[1024, 433], [1024, 532]]}, "losses": {"loss/objectness": [0.8058, 0.6211], "loss/graspness": [2.473, 0.2657], "loss/view": [5.497, 0.6067], "loss/angle": [1.429, 1.077], "loss/depth": [2.039, 0.5793], "loss/score": [2.563, 0.9191], "loss/width": [4.953, 0.779], "loss": [19.76, 4.848]}, "trend": {"loss/objectness": [0.8058, 0.629, 0.219], "loss/graspness": [2.473, 0.2773, 0.888], "loss/view": [5.497, 0.6074, 0.89], "loss/angle": [1.429, 1.027, 0.282], "loss/depth": [2.039, 0.5568, 0.727], "loss/score": [2.563, 0.8675, 0.662], "loss/width": [4.953, 0.8026, 0.838], "loss": [19.76, 4.767, 0.759]}, "real_seeds": {"min": 0.372, "mean": 0.938, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.109, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.751, -1.751, -1.751], [-1.751, -1.751, -1.751]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.941, "peak_gpu_mib": 11643.5, "seconds": 76.6, "post_seconds": 0.033}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/table-plane", "group": "post", "method": "GraspNet-baseline", "sets": ["post=table-plane"], "slot": "post", "component": "TablePlaneFilter", "variant": "table-plane", "verdict": "runs", "judge": 2, "config_hash": "0d453adf89744429", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=table-plane -o post__GraspNet-baseline__table-plane.yaml", "probe": "grasppanda probe post__GraspNet-baseline__table-plane.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [785, 352], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["TablePlaneFilter"], "grasps": [[785, 137], [352, 60]]}, "losses": {"loss/objectness": [0.7623, 0.5625], "loss/view": [0.2001, 0.07932], "loss/score": [0.05519, 0.03763], "loss/angle": [0.53, 0.4495], "loss/width": [0.6388, 0.2017], "loss/tolerance": [1.188, 0.5022], "loss": [3.374, 1.833]}, "trend": {"loss/objectness": [0.7623, 0.5812, 0.238], "loss/view": [0.2001, 0.08078, 0.596], "loss/score": [0.05519, 0.03137, 0.432], "loss/angle": [0.53, 0.4592, 0.133], "loss/width": [0.6388, 0.2031, 0.682], "loss/tolerance": [1.188, 0.4937, 0.584], "loss": [3.374, 1.849, 0.452]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-57.94, -0.3164, 20.28], [-22.92, -0.5129, 14.27]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.329, "peak_gpu_mib": 3972.1, "seconds": 14.5, "post_seconds": 0.128}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/table-plane", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=table-plane"], "slot": "post", "component": "TablePlaneFilter", "variant": "table-plane", "verdict": "runs-empty", "judge": 2, "config_hash": "e33bfe54d068ec64", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=table-plane -o post__Scale-Balanced-Grasp__table-plane.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__table-plane.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["TablePlaneFilter"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.574, "peak_gpu_mib": 9615.8, "seconds": 19.8, "post_seconds": 0.004}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/table-plane", "group": "post", "method": "HGGD", "sets": ["post=table-plane"], "slot": "post", "component": "TablePlaneFilter", "variant": "table-plane", "verdict": "runs", "judge": 2, "config_hash": "d02cc777e2ad3bc3", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=table-plane -o post__HGGD__table-plane.yaml", "probe": "grasppanda probe post__HGGD__table-plane.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [349, 345], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["TablePlaneFilter"], "grasps": [[349, 206], [345, 280]]}, "losses": {"loss/heatmap": [2429.0, 4.01], "loss/angle": [4942.0, 74.52], "loss/offsets": [0.9016, 0.4741], "loss/anchor": [85.42, 3.429], "loss/anchor_offset": [1.376, 1.739], "loss": [7459.0, 84.17]}, "trend": {"loss/heatmap": [2429.0, 4.022, 0.998], "loss/angle": [4942.0, 86.97, 0.982], "loss/offsets": [0.9016, 0.4947, 0.451], "loss/anchor": [85.42, 3.229, 0.962], "loss/anchor_offset": [1.376, 1.497, -0.088], "loss": [7459.0, 96.21, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001152, 0.002278, 0.04501], [0.001143, 0.002278, 0.04405]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.94, "peak_gpu_mib": 8188.0, "seconds": 32.2, "post_seconds": 0.01}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/to-base-frame", "group": "post", "method": "GSNet", "sets": ["post=to-base-frame"], "slot": "post", "component": "ToFrame", "variant": "to-base-frame", "verdict": "runs", "judge": 2, "config_hash": "0ddb67a62030f9d1", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=to-base-frame -o post__GSNet__to-base-frame.yaml", "probe": "grasppanda probe post__GSNet__to-base-frame.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [372, 486], "frames": 8, "postprocessing": {"steps": ["ToFrame"], "grasps": [[372, 372], [486, 486]]}, "losses": {"loss/objectness": [0.7893, 0.5975], "loss/graspness": [5.176, 0.4434], "loss/view": [6.291, 0.267], "loss/score": [1.515, 0.08615], "loss/width": [3.654, 0.3401], "loss": [17.43, 1.734]}, "trend": {"loss/objectness": [0.7893, 0.6055, 0.233], "loss/graspness": [5.176, 0.3719, 0.928], "loss/view": [6.291, 0.3316, 0.947], "loss/score": [1.515, 0.08532, 0.944], "loss/width": [3.654, 0.2602, 0.929], "loss": [17.43, 1.655, 0.905]}, "real_seeds": {"min": 0.423, "mean": 0.92, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1195, 0.1741, 0.2682], [0.1312, 0.1785, 0.3263]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.212, "peak_gpu_mib": 1841.5, "seconds": 32.9, "post_seconds": 0.005}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/to-base-frame", "group": "post", "method": "EconomicGrasp", "sets": ["post=to-base-frame"], "slot": "post", "component": "ToFrame", "variant": "to-base-frame", "verdict": "runs", "judge": 2, "config_hash": "9a16110a97cfe63f", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=to-base-frame -o post__EconomicGrasp__to-base-frame.yaml", "probe": "grasppanda probe post__EconomicGrasp__to-base-frame.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["ToFrame"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.7845, 0.6185], "loss/graspness": [5.216, 0.2838], "loss/view": [6.545, 0.681], "loss/angle": [3.303, 0.7256], "loss/depth": [2.236, 0.3741], "loss/score": [2.117, 0.5717], "loss/width": [8.756, 0.6853], "loss": [28.96, 3.94]}, "trend": {"loss/objectness": [0.7845, 0.6102, 0.222], "loss/graspness": [5.216, 0.3338, 0.936], "loss/view": [6.545, 0.7076, 0.892], "loss/angle": [3.303, 0.7415, 0.776], "loss/depth": [2.236, 0.4411, 0.803], "loss/score": [2.117, 0.6319, 0.701], "loss/width": [8.756, 0.7186, 0.918], "loss": [28.96, 4.185, 0.855]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.51, -3.22, -2.954], [-3.587, -3.27, -2.965]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.209, "peak_gpu_mib": 2066.2, "seconds": 32.3, "post_seconds": 0.0}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/to-base-frame", "group": "post", "method": "FineGrasp", "sets": ["post=to-base-frame"], "slot": "post", "component": "ToFrame", "variant": "to-base-frame", "verdict": "runs", "judge": 2, "config_hash": "4891858fb0120ad4", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=to-base-frame -o post__FineGrasp__to-base-frame.yaml", "probe": "grasppanda probe post__FineGrasp__to-base-frame.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["ToFrame"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.8058, 0.6213], "loss/graspness": [2.473, 0.2651], "loss/view": [5.497, 0.6164], "loss/angle": [1.429, 1.044], "loss/depth": [2.039, 0.5419], "loss/score": [2.563, 0.865], "loss/width": [4.953, 0.8073], "loss": [19.76, 4.761]}, "trend": {"loss/objectness": [0.8058, 0.6284, 0.22], "loss/graspness": [2.473, 0.2753, 0.889], "loss/view": [5.497, 0.6075, 0.89], "loss/angle": [1.429, 0.985, 0.311], "loss/depth": [2.039, 0.5138, 0.748], "loss/score": [2.563, 0.8332, 0.675], "loss/width": [4.953, 0.8578, 0.827], "loss": [19.76, 4.701, 0.762]}, "real_seeds": {"min": 0.695, "mean": 0.965, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.113, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.857, -1.857, -1.857], [-1.857, -1.857, -1.857]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.927, "peak_gpu_mib": 11643.5, "seconds": 77.8, "post_seconds": 0.004}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/to-base-frame", "group": "post", "method": "GraspNet-baseline", "sets": ["post=to-base-frame"], "slot": "post", "component": "ToFrame", "variant": "to-base-frame", "verdict": "runs", "judge": 2, "config_hash": "7851447f0eccd4ad", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=to-base-frame -o post__GraspNet-baseline__to-base-frame.yaml", "probe": "grasppanda probe post__GraspNet-baseline__to-base-frame.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [553, 735], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ToFrame"], "grasps": [[553, 553], [735, 735]]}, "losses": {"loss/objectness": [0.7623, 0.5796], "loss/view": [0.2001, 0.07865], "loss/score": [0.05519, 0.02695], "loss/angle": [0.53, 0.4733], "loss/width": [0.6388, 0.1653], "loss/tolerance": [1.188, 0.4338], "loss": [3.374, 1.758]}, "trend": {"loss/objectness": [0.7623, 0.584, 0.234], "loss/view": [0.2001, 0.08057, 0.597], "loss/score": [0.05519, 0.03017, 0.453], "loss/angle": [0.53, 0.4599, 0.132], "loss/width": [0.6388, 0.1678, 0.737], "loss/tolerance": [1.188, 0.4637, 0.61], "loss": [3.374, 1.786, 0.471]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-49.62, 0.0518, 21.09], [-28.05, -0.5091, 16.43]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.324, "peak_gpu_mib": 3972.1, "seconds": 13.9, "post_seconds": 0.004}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/to-base-frame", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=to-base-frame"], "slot": "post", "component": "ToFrame", "variant": "to-base-frame", "verdict": "runs-empty", "judge": 2, "config_hash": "612e6fa61c4a4d82", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=to-base-frame -o post__Scale-Balanced-Grasp__to-base-frame.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__to-base-frame.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ToFrame"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.556, "peak_gpu_mib": 9615.8, "seconds": 18.5, "post_seconds": 0.002}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/to-base-frame", "group": "post", "method": "HGGD", "sets": ["post=to-base-frame"], "slot": "post", "component": "ToFrame", "variant": "to-base-frame", "verdict": "runs", "judge": 2, "config_hash": "d5d1977d61141a59", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=to-base-frame -o post__HGGD__to-base-frame.yaml", "probe": "grasppanda probe post__HGGD__to-base-frame.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [322, 322], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["ToFrame"], "grasps": [[322, 322], [322, 322]]}, "losses": {"loss/heatmap": [2429.0, 3.988], "loss/angle": [4942.0, 74.29], "loss/offsets": [0.9016, 0.4583], "loss/anchor": [85.42, 3.328], "loss/anchor_offset": [1.376, 1.442], "loss": [7459.0, 83.51]}, "trend": {"loss/heatmap": [2429.0, 4.004, 0.998], "loss/angle": [4942.0, 86.88, 0.982], "loss/offsets": [0.9016, 0.4711, 0.477], "loss/anchor": [85.42, 3.134, 0.963], "loss/anchor_offset": [1.376, 0.9903, 0.28], "loss": [7459.0, 95.48, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.002151, 0.002629, 0.02373], [0.002151, 0.002621, 0.0245]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.9, "peak_gpu_mib": 8203.8, "seconds": 31.0, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/top-k", "group": "post", "method": "GSNet", "sets": ["post=top-k"], "slot": "post", "component": "TopK", "variant": "top-k", "verdict": "runs", "judge": 2, "config_hash": "c5ecf30b3d2b8794", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=top-k -o post__GSNet__top-k.yaml", "probe": "grasppanda probe post__GSNet__top-k.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [228, 292], "frames": 8, "postprocessing": {"steps": ["TopK"], "grasps": [[228, 50], [292, 50]]}, "losses": {"loss/objectness": [0.7893, 0.6155], "loss/graspness": [5.176, 0.4603], "loss/view": [6.291, 0.786], "loss/score": [1.515, 0.0762], "loss/width": [3.654, 0.6243], "loss": [17.43, 2.562]}, "trend": {"loss/objectness": [0.7893, 0.6113, 0.226], "loss/graspness": [5.176, 0.3735, 0.928], "loss/view": [6.291, 0.5113, 0.919], "loss/score": [1.515, 0.0879, 0.942], "loss/width": [3.654, 0.2745, 0.925], "loss": [17.43, 1.858, 0.893]}, "real_seeds": {"min": 0.315, "mean": 0.902, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09844, 0.1849, 0.2522], [0.1202, 0.185, 0.3861]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.188, "peak_gpu_mib": 1841.5, "seconds": 28.7, "post_seconds": 0.007}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/top-k", "group": "post", "method": "EconomicGrasp", "sets": ["post=top-k"], "slot": "post", "component": "TopK", "variant": "top-k", "verdict": "runs", "judge": 2, "config_hash": "ac2c7a2c403c4c2e", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=top-k -o post__EconomicGrasp__top-k.yaml", "probe": "grasppanda probe post__EconomicGrasp__top-k.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["TopK"], "grasps": [[1024, 50], [1024, 50]]}, "losses": {"loss/objectness": [0.7845, 0.6303], "loss/graspness": [5.216, 0.2775], "loss/view": [6.545, 0.6878], "loss/angle": [3.303, 0.7885], "loss/depth": [2.236, 0.4186], "loss/score": [2.117, 0.6939], "loss/width": [8.756, 0.6895], "loss": [28.96, 4.186]}, "trend": {"loss/objectness": [0.7845, 0.6186, 0.211], "loss/graspness": [5.216, 0.329, 0.937], "loss/view": [6.545, 0.7129, 0.891], "loss/angle": [3.303, 0.7737, 0.766], "loss/depth": [2.236, 0.4268, 0.809], "loss/score": [2.117, 0.673, 0.682], "loss/width": [8.756, 0.7046, 0.92], "loss": [28.96, 4.239, 0.854]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.563, -3.255, -3.008], [-3.563, -3.268, -2.945]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.158, "peak_gpu_mib": 2066.2, "seconds": 32.4, "post_seconds": 0.004}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/top-k", "group": "post", "method": "FineGrasp", "sets": ["post=top-k"], "slot": "post", "component": "TopK", "variant": "top-k", "verdict": "runs", "judge": 2, "config_hash": "4e6a7de2296bde5a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=top-k -o post__FineGrasp__top-k.yaml", "probe": "grasppanda probe post__FineGrasp__top-k.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["TopK"], "grasps": [[1024, 50], [1024, 50]]}, "losses": {"loss/objectness": [0.8058, 0.6147], "loss/graspness": [2.473, 0.2649], "loss/view": [5.497, 0.6259], "loss/angle": [1.429, 1.058], "loss/depth": [2.039, 0.5841], "loss/score": [2.563, 0.9056], "loss/width": [4.953, 0.8299], "loss": [19.76, 4.883]}, "trend": {"loss/objectness": [0.8058, 0.6244, 0.225], "loss/graspness": [2.473, 0.2735, 0.889], "loss/view": [5.497, 0.6084, 0.889], "loss/angle": [1.429, 1.025, 0.283], "loss/depth": [2.039, 0.5438, 0.733], "loss/score": [2.563, 0.8699, 0.661], "loss/width": [4.953, 0.8211, 0.834], "loss": [19.76, 4.766, 0.759]}, "real_seeds": {"min": 0.857, "mean": 0.983, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.522, -1.522, -1.522], [-1.522, -1.522, -1.522]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.843, "peak_gpu_mib": 11643.5, "seconds": 74.1, "post_seconds": 0.0}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/top-k", "group": "post", "method": "GraspNet-baseline", "sets": ["post=top-k"], "slot": "post", "component": "TopK", "variant": "top-k", "verdict": "runs", "judge": 2, "config_hash": "aa1fd5c8e5113bd2", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=top-k -o post__GraspNet-baseline__top-k.yaml", "probe": "grasppanda probe post__GraspNet-baseline__top-k.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [636, 766], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["TopK"], "grasps": [[636, 50], [766, 50]]}, "losses": {"loss/objectness": [0.7623, 0.544], "loss/view": [0.2001, 0.07546], "loss/score": [0.05519, 0.04531], "loss/angle": [0.53, 0.464], "loss/width": [0.6388, 0.1681], "loss/tolerance": [1.188, 0.4629], "loss": [3.374, 1.76]}, "trend": {"loss/objectness": [0.7623, 0.5746, 0.246], "loss/view": [0.2001, 0.07953, 0.603], "loss/score": [0.05519, 0.0347, 0.371], "loss/angle": [0.53, 0.469, 0.115], "loss/width": [0.6388, 0.1641, 0.743], "loss/tolerance": [1.188, 0.4754, 0.6], "loss": [3.374, 1.797, 0.467]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-63.46, -0.4327, 14.55], [-24.9, -0.691, 28.21]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.327, "peak_gpu_mib": 3972.1, "seconds": 13.9, "post_seconds": 0.001}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/top-k", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=top-k"], "slot": "post", "component": "TopK", "variant": "top-k", "verdict": "runs-empty", "judge": 2, "config_hash": "986a617eaa4efc66", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=top-k -o post__Scale-Balanced-Grasp__top-k.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__top-k.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["TopK"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.574, "peak_gpu_mib": 9615.8, "seconds": 19.0, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/top-k", "group": "post", "method": "HGGD", "sets": ["post=top-k"], "slot": "post", "component": "TopK", "variant": "top-k", "verdict": "runs", "judge": 2, "config_hash": "cc92ab02da2ad2ce", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=top-k -o post__HGGD__top-k.yaml", "probe": "grasppanda probe post__HGGD__top-k.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [376, 368], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["TopK"], "grasps": [[376, 50], [368, 50]]}, "losses": {"loss/heatmap": [2429.0, 3.998], "loss/angle": [4942.0, 72.33], "loss/offsets": [0.9016, 0.4421], "loss/anchor": [85.42, 3.336], "loss/anchor_offset": [1.376, 1.336], "loss": [7459.0, 81.44]}, "trend": {"loss/heatmap": [2429.0, 4.015, 0.998], "loss/angle": [4942.0, 85.9, 0.983], "loss/offsets": [0.9016, 0.4576, 0.492], "loss/anchor": [85.42, 3.139, 0.963], "loss/anchor_offset": [1.376, 1.104, 0.198], "loss": [7459.0, 94.61, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001711, 0.003855, 0.01848], [0.001712, 0.003779, 0.01668]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.989, "peak_gpu_mib": 8217.8, "seconds": 33.1, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/width-from-cloud", "group": "post", "method": "GSNet", "sets": ["post=width-from-cloud"], "slot": "post", "component": "WidthFromCloud", "variant": "width-from-cloud", "verdict": "runs", "judge": 2, "config_hash": "17482a7bd7420f67", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=width-from-cloud -o post__GSNet__width-from-cloud.yaml", "probe": "grasppanda probe post__GSNet__width-from-cloud.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [338, 339], "frames": 8, "postprocessing": {"steps": ["WidthFromCloud"], "grasps": [[338, 338], [339, 339]]}, "losses": {"loss/objectness": [0.7893, 0.6166], "loss/graspness": [5.176, 0.4502], "loss/view": [6.291, 0.2886], "loss/score": [1.515, 0.09173], "loss/width": [3.654, 0.3597], "loss": [17.43, 1.807]}, "trend": {"loss/objectness": [0.7893, 0.6089, 0.229], "loss/graspness": [5.176, 0.3832, 0.926], "loss/view": [6.291, 0.3873, 0.938], "loss/score": [1.515, 0.09561, 0.937], "loss/width": [3.654, 0.277, 0.924], "loss": [17.43, 1.752, 0.899]}, "real_seeds": {"min": 0.267, "mean": 0.894, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09566, 0.1834, 0.2447], [0.09478, 0.1844, 0.2938]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.181, "peak_gpu_mib": 1841.5, "seconds": 35.1, "post_seconds": 0.013}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/width-from-cloud", "group": "post", "method": "EconomicGrasp", "sets": ["post=width-from-cloud"], "slot": "post", "component": "WidthFromCloud", "variant": "width-from-cloud", "verdict": "runs", "judge": 2, "config_hash": "7b7b7e5cc4ac6acb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=width-from-cloud -o post__EconomicGrasp__width-from-cloud.yaml", "probe": "grasppanda probe post__EconomicGrasp__width-from-cloud.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["WidthFromCloud"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.7845, 0.6359], "loss/graspness": [5.216, 0.2695], "loss/view": [6.545, 0.677], "loss/angle": [3.303, 0.6717], "loss/depth": [2.236, 0.3403], "loss/score": [2.117, 0.596], "loss/width": [8.756, 0.665], "loss": [28.96, 3.856]}, "trend": {"loss/objectness": [0.7845, 0.6246, 0.204], "loss/graspness": [5.216, 0.3354, 0.936], "loss/view": [6.545, 0.7115, 0.891], "loss/angle": [3.303, 0.7604, 0.77], "loss/depth": [2.236, 0.4437, 0.802], "loss/score": [2.117, 0.6722, 0.682], "loss/width": [8.756, 0.7277, 0.917], "loss": [28.96, 4.276, 0.852]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.447, -3.178, -2.854], [-3.444, -3.182, -2.733]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.163, "peak_gpu_mib": 2066.2, "seconds": 33.1, "post_seconds": 0.016}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/width-from-cloud", "group": "post", "method": "FineGrasp", "sets": ["post=width-from-cloud"], "slot": "post", "component": "WidthFromCloud", "variant": "width-from-cloud", "verdict": "runs", "judge": 2, "config_hash": "a1b96060f7541fb0", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=width-from-cloud -o post__FineGrasp__width-from-cloud.yaml", "probe": "grasppanda probe post__FineGrasp__width-from-cloud.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["WidthFromCloud"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.8058, 0.6201], "loss/graspness": [2.473, 0.2647], "loss/view": [5.497, 0.612], "loss/angle": [1.429, 1.016], "loss/depth": [2.039, 0.5907], "loss/score": [2.563, 0.8581], "loss/width": [4.953, 0.7456], "loss": [19.76, 4.708]}, "trend": {"loss/objectness": [0.8058, 0.6277, 0.221], "loss/graspness": [2.473, 0.2744, 0.889], "loss/view": [5.497, 0.6072, 0.89], "loss/angle": [1.429, 1.032, 0.278], "loss/depth": [2.039, 0.5525, 0.729], "loss/score": [2.563, 0.8532, 0.667], "loss/width": [4.953, 0.8069, 0.837], "loss": [19.76, 4.754, 0.759]}, "real_seeds": {"min": 0.857, "mean": 0.986, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.616, -1.615, -1.615], [-1.616, -1.616, -1.615]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.725, "peak_gpu_mib": 11643.5, "seconds": 78.3, "post_seconds": 0.015}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/width-from-cloud", "group": "post", "method": "GraspNet-baseline", "sets": ["post=width-from-cloud"], "slot": "post", "component": "WidthFromCloud", "variant": "width-from-cloud", "verdict": "runs", "judge": 2, "config_hash": "b3d75e6e0d39d7d9", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=width-from-cloud -o post__GraspNet-baseline__width-from-cloud.yaml", "probe": "grasppanda probe post__GraspNet-baseline__width-from-cloud.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [477, 180], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["WidthFromCloud"], "grasps": [[477, 477], [180, 180]]}, "losses": {"loss/objectness": [0.7623, 0.5367], "loss/view": [0.2001, 0.07797], "loss/score": [0.05519, 0.03926], "loss/angle": [0.53, 0.4669], "loss/width": [0.6388, 0.15], "loss/tolerance": [1.188, 0.4154], "loss": [3.374, 1.686]}, "trend": {"loss/objectness": [0.7623, 0.5743, 0.247], "loss/view": [0.2001, 0.08057, 0.597], "loss/score": [0.05519, 0.03268, 0.408], "loss/angle": [0.53, 0.4686, 0.116], "loss/width": [0.6388, 0.2083, 0.674], "loss/tolerance": [1.188, 0.4837, 0.593], "loss": [3.374, 1.848, 0.452]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-24.99, -0.9965, 20.15], [-18.12, -0.359, 13.33]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.328, "peak_gpu_mib": 3972.1, "seconds": 14.5, "post_seconds": 0.016}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/width-from-cloud", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=width-from-cloud"], "slot": "post", "component": "WidthFromCloud", "variant": "width-from-cloud", "verdict": "runs-empty", "judge": 2, "config_hash": "b382a8b277b1e62b", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=width-from-cloud -o post__Scale-Balanced-Grasp__width-from-cloud.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__width-from-cloud.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["WidthFromCloud"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.556, "peak_gpu_mib": 9615.8, "seconds": 19.1, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/width-from-cloud", "group": "post", "method": "HGGD", "sets": ["post=width-from-cloud"], "slot": "post", "component": "WidthFromCloud", "variant": "width-from-cloud", "verdict": "runs", "judge": 2, "config_hash": "e72bea18c54e1e45", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=width-from-cloud -o post__HGGD__width-from-cloud.yaml", "probe": "grasppanda probe post__HGGD__width-from-cloud.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [322, 322], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["WidthFromCloud"], "grasps": [[322, 322], [322, 322]]}, "losses": {"loss/heatmap": [2429.0, 3.993], "loss/angle": [4942.0, 73.6], "loss/offsets": [0.9016, 0.4648], "loss/anchor": [85.42, 3.264], "loss/anchor_offset": [1.376, 1.039], "loss": [7459.0, 82.36]}, "trend": {"loss/heatmap": [2429.0, 4.004, 0.998], "loss/angle": [4942.0, 86.37, 0.983], "loss/offsets": [0.9016, 0.4758, 0.472], "loss/anchor": [85.42, 3.111, 0.964], "loss/anchor_offset": [1.376, 1.288, 0.064], "loss": [7459.0, 95.25, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001593, 0.00305, 0.03498], [0.00159, 0.003122, 0.0342]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.885, "peak_gpu_mib": 8207.8, "seconds": 28.2, "post_seconds": 0.006}, "run": "2026-10-15@96facee"},
  {"id": "post/GSNet/workspace", "group": "post", "method": "GSNet", "sets": ["post=workspace"], "slot": "post", "component": "WorkspaceFilter", "variant": "workspace", "verdict": "runs", "judge": 2, "config_hash": "a0c8ec27ed1c58c7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set post=workspace -o post__GSNet__workspace.yaml", "probe": "grasppanda probe post__GSNet__workspace.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [278, 327], "frames": 8, "postprocessing": {"steps": ["WorkspaceFilter"], "grasps": [[278, 278], [327, 327]]}, "losses": {"loss/objectness": [0.7893, 0.6209], "loss/graspness": [5.176, 0.4592], "loss/view": [6.291, 0.2932], "loss/score": [1.515, 0.08746], "loss/width": [3.654, 0.3162], "loss": [17.43, 1.777]}, "trend": {"loss/objectness": [0.7893, 0.617, 0.218], "loss/graspness": [5.176, 0.374, 0.928], "loss/view": [6.291, 0.3678, 0.942], "loss/score": [1.515, 0.09242, 0.939], "loss/width": [3.654, 0.3104, 0.915], "loss": [17.43, 1.762, 0.899]}, "real_seeds": {"min": 0.465, "mean": 0.919, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1108, 0.153, 0.2271], [0.1104, 0.1685, 0.2715]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.182, "peak_gpu_mib": 1841.5, "seconds": 27.6, "post_seconds": 0.018}, "run": "2026-10-15@2a3760a"},
  {"id": "post/EconomicGrasp/workspace", "group": "post", "method": "EconomicGrasp", "sets": ["post=workspace"], "slot": "post", "component": "WorkspaceFilter", "variant": "workspace", "verdict": "runs", "judge": 2, "config_hash": "33db16abb54e3535", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set post=workspace -o post__EconomicGrasp__workspace.yaml", "probe": "grasppanda probe post__EconomicGrasp__workspace.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "postprocessing": {"steps": ["WorkspaceFilter"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.7845, 0.6278], "loss/graspness": [5.216, 0.2783], "loss/view": [6.545, 0.684], "loss/angle": [3.303, 0.7328], "loss/depth": [2.236, 0.4006], "loss/score": [2.117, 0.6398], "loss/width": [8.756, 0.669], "loss": [28.96, 4.032]}, "trend": {"loss/objectness": [0.7845, 0.6155, 0.215], "loss/graspness": [5.216, 0.3342, 0.936], "loss/view": [6.545, 0.7095, 0.892], "loss/angle": [3.303, 0.6837, 0.793], "loss/depth": [2.236, 0.4021, 0.82], "loss/score": [2.117, 0.6019, 0.716], "loss/width": [8.756, 0.7147, 0.918], "loss": [28.96, 4.061, 0.86]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.436, -3.206, -2.941], [-3.546, -3.228, -2.854]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.889, "peak_gpu_mib": 2066.2, "seconds": 36.9, "post_seconds": 0.003}, "run": "2026-10-15@2a3760a"},
  {"id": "post/FineGrasp/workspace", "group": "post", "method": "FineGrasp", "sets": ["post=workspace"], "slot": "post", "component": "WorkspaceFilter", "variant": "workspace", "verdict": "runs", "judge": 2, "config_hash": "d9fbc6ec08c1a9bb", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set post=workspace -o post__FineGrasp__workspace.yaml", "probe": "grasppanda probe post__FineGrasp__workspace.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "postprocessing": {"steps": ["WorkspaceFilter"], "grasps": [[1024, 1024], [1024, 1024]]}, "losses": {"loss/objectness": [0.8058, 0.6195], "loss/graspness": [2.473, 0.2651], "loss/view": [5.497, 0.6105], "loss/angle": [1.429, 0.9654], "loss/depth": [2.039, 0.5053], "loss/score": [2.563, 0.8259], "loss/width": [4.953, 0.7432], "loss": [19.76, 4.535]}, "trend": {"loss/objectness": [0.8058, 0.6271, 0.222], "loss/graspness": [2.473, 0.2762, 0.888], "loss/view": [5.497, 0.6057, 0.89], "loss/angle": [1.429, 1.031, 0.279], "loss/depth": [2.039, 0.5409, 0.735], "loss/score": [2.563, 0.8723, 0.66], "loss/width": [4.953, 0.8063, 0.837], "loss": [19.76, 4.76, 0.759]}, "real_seeds": {"min": 0.757, "mean": 0.97, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.116, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.643, -1.643, -1.643], [-1.643, -1.643, -1.643]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.787, "peak_gpu_mib": 11643.5, "seconds": 73.1, "post_seconds": 0.001}, "run": "2026-10-15@2a3760a"},
  {"id": "post/GraspNet-baseline/workspace", "group": "post", "method": "GraspNet-baseline", "sets": ["post=workspace"], "slot": "post", "component": "WorkspaceFilter", "variant": "workspace", "verdict": "runs", "judge": 2, "config_hash": "17ecfb065a2b76dd", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set post=workspace -o post__GraspNet-baseline__workspace.yaml", "probe": "grasppanda probe post__GraspNet-baseline__workspace.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [574, 489], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["WorkspaceFilter"], "grasps": [[574, 574], [489, 489]]}, "losses": {"loss/objectness": [0.7623, 0.539], "loss/view": [0.2001, 0.07252], "loss/score": [0.05519, 0.03956], "loss/angle": [0.53, 0.4774], "loss/width": [0.6388, 0.2288], "loss/tolerance": [1.188, 0.4412], "loss": [3.374, 1.798]}, "trend": {"loss/objectness": [0.7623, 0.5705, 0.252], "loss/view": [0.2001, 0.07813, 0.61], "loss/score": [0.05519, 0.03429, 0.379], "loss/angle": [0.53, 0.4688, 0.115], "loss/width": [0.6388, 0.1901, 0.702], "loss/tolerance": [1.188, 0.4583, 0.614], "loss": [3.374, 1.8, 0.467]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-13.04, 1.171, 22.19], [-20.68, 1.16, 16.48]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.175, "peak_gpu_mib": 3972.1, "seconds": 10.9, "post_seconds": 0.001}, "run": "2026-10-15@96facee"},
  {"id": "post/Scale-Balanced-Grasp/workspace", "group": "post", "method": "Scale-Balanced-Grasp", "sets": ["post=workspace"], "slot": "post", "component": "WorkspaceFilter", "variant": "workspace", "verdict": "runs-empty", "judge": 2, "config_hash": "0341df4797fe6d4d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set post=workspace -o post__Scale-Balanced-Grasp__workspace.yaml", "probe": "grasppanda probe post__Scale-Balanced-Grasp__workspace.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["WorkspaceFilter"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.452, "peak_gpu_mib": 9615.8, "seconds": 16.8, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "post/HGGD/workspace", "group": "post", "method": "HGGD", "sets": ["post=workspace"], "slot": "post", "component": "WorkspaceFilter", "variant": "workspace", "verdict": "runs", "judge": 2, "config_hash": "a2145ac794ee55d4", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set post=workspace -o post__HGGD__workspace.yaml", "probe": "grasppanda probe post__HGGD__workspace.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [323, 315], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["WorkspaceFilter"], "grasps": [[323, 323], [315, 315]]}, "losses": {"loss/heatmap": [2429.0, 3.994], "loss/angle": [4942.0, 74.05], "loss/offsets": [0.9016, 0.4695], "loss/anchor": [85.42, 3.295], "loss/anchor_offset": [1.376, 1.836], "loss": [7459.0, 83.65]}, "trend": {"loss/heatmap": [2429.0, 4.004, 0.998], "loss/angle": [4942.0, 86.59, 0.982], "loss/offsets": [0.9016, 0.4805, 0.467], "loss/anchor": [85.42, 3.194, 0.963], "loss/anchor_offset": [1.376, 1.329, 0.034], "loss": [7459.0, 95.6, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001184, 0.004186, 0.05894], [0.001185, 0.004191, 0.05018]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.638, "peak_gpu_mib": 8203.9, "seconds": 23.0, "post_seconds": 0.005}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/focal+quality-focal+balanced-l1@proposal.objectness_loss+head.score_loss+head.width_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=focal", "head.score_loss=quality-focal", "head.width_loss=balanced-l1"], "slot": "loss", "component": "FocalLoss+QualityFocal+BalancedL1", "variant": "focal+quality-focal+balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "242ec69174472676", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=focal --set head.score_loss=quality-focal --set head.width_loss=balanced-l1 -o loss__GSNet__focal+quality-focal+balanced-l1@proposal.objectness_loss+head.score_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__focal+quality-focal+balanced-l1@proposal.objectness_loss+head.score_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.3003, 0.1475], "loss/graspness": [5.176, 0.3517], "loss/view": [6.291, 0.397], "loss/score": [3.306, 0.02578], "loss/width": [7.802, 1.143], "loss": [22.88, 2.065]}, "trend": {"loss/objectness": [0.3003, 0.1449, 0.518], "loss/graspness": [5.176, 0.5111, 0.901], "loss/view": [6.291, 0.4814, 0.923], "loss/score": [3.306, 0.06414, 0.981], "loss/width": [7.802, 1.079, 0.862], "loss": [22.88, 2.28, 0.9]}, "real_seeds": {"min": 0.393, "mean": 0.91, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1553, 0.2021, 0.3501], [0.1009, 0.2116, 0.438]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.159, "peak_gpu_mib": 1843.8, "seconds": 31.6}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/softmax-focal+varifocal+huber@proposal.objectness_loss+head.score_loss+head.width_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=softmax-focal", "head.score_loss=varifocal", "head.width_loss=huber"], "slot": "loss", "component": "SoftmaxFocalLoss+Varifocal+Huber", "variant": "softmax-focal+varifocal+huber", "verdict": "runs", "judge": 2, "config_hash": "1769609b74d567b8", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=softmax-focal --set head.score_loss=varifocal --set head.width_loss=huber -o loss__GSNet__softmax-focal+varifocal+huber@proposal.objectness_loss+head.score_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__softmax-focal+varifocal+huber@proposal.objectness_loss+head.score_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [152, 238], "frames": 8, "losses": {"loss/objectness": [0.3758, 0.184], "loss/graspness": [5.176, 0.4151], "loss/view": [6.291, 0.2635], "loss/score": [2.483, 0.1274], "loss/width": [3.654, 0.3173], "loss": [17.98, 1.307]}, "trend": {"loss/objectness": [0.3758, 0.1704, 0.547], "loss/graspness": [5.176, 0.3627, 0.93], "loss/view": [6.291, 0.4135, 0.934], "loss/score": [2.483, 0.09402, 0.962], "loss/width": [3.654, 0.3039, 0.917], "loss": [17.98, 1.345, 0.925]}, "real_seeds": {"min": 0.485, "mean": 0.923, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.3497, 0.386, 0.4694], [0.3337, 0.3708, 0.4424]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.194, "peak_gpu_mib": 1842.8, "seconds": 35.7}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/label-smoothing+bce+ghm-r@proposal.objectness_loss+proposal.graspness_loss+head.width_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=label-smoothing", "proposal.graspness_loss=bce", "head.width_loss=ghm-r"], "slot": "loss", "component": "LabelSmoothingCrossEntropy+BinaryCrossEntropy+GHMR", "variant": "label-smoothing+bce+ghm-r", "verdict": "runs", "judge": 2, "config_hash": "5c523591f3a02305", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=label-smoothing --set proposal.graspness_loss=bce --set head.width_loss=ghm-r -o loss__GSNet__label-smoothing+bce+ghm-r@proposal.objectness_loss+proposal.graspness_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__label-smoothing+bce+ghm-r@proposal.objectness_loss+proposal.graspness_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.8006, 0.6676], "loss/graspness": [5.592, 3.055], "loss/view": [5.633, 0.4407], "loss/score": [1.567, 0.1416], "loss/width": [1.684, 0.5911], "loss": [15.28, 4.896]}, "trend": {"loss/objectness": [0.8006, 0.6846, 0.145], "loss/graspness": [5.592, 3.132, 0.44], "loss/view": [5.633, 0.3933, 0.93], "loss/score": [1.567, 0.1548, 0.901], "loss/width": [1.684, 0.6082, 0.639], "loss": [15.28, 4.973, 0.674]}, "real_seeds": {"min": 0.646, "mean": 0.967, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08006, 0.1432, 0.2639], [0.06583, 0.1512, 0.2696]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.17, "peak_gpu_mib": 1840.0, "seconds": 33.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/poly1+ghm-c+charbonnier@proposal.objectness_loss+head.score_loss+head.width_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=poly1", "head.score_loss=ghm-c", "head.width_loss=charbonnier"], "slot": "loss", "component": "Poly1CrossEntropy+GHMC+RobustLoss", "variant": "poly1+ghm-c+charbonnier", "verdict": "runs", "judge": 2, "config_hash": "4e3420cdf41b8fb7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=poly1 --set head.score_loss=ghm-c --set head.width_loss=charbonnier -o loss__GSNet__poly1+ghm-c+charbonnier@proposal.objectness_loss+head.score_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__poly1+ghm-c+charbonnier@proposal.objectness_loss+head.score_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [1.253, 1.035], "loss/graspness": [5.176, 0.4999], "loss/view": [6.291, 0.3705], "loss/score": [14.71, 9.157], "loss/width": [3.058, 0.3645], "loss": [30.49, 11.43]}, "trend": {"loss/objectness": [1.253, 1.05, 0.162], "loss/graspness": [5.176, 0.5536, 0.893], "loss/view": [6.291, 0.4831, 0.923], "loss/score": [14.71, 9.911, 0.326], "loss/width": [3.058, 0.3645, 0.881], "loss": [30.49, 12.36, 0.595]}, "real_seeds": {"min": 0.522, "mean": 0.958, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.4152, 0.4705, 0.517], [0.4195, 0.467, 0.5187]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.162, "peak_gpu_mib": 1841.9, "seconds": 35.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/ohem+ohem-smooth-l1+cauchy@proposal.objectness_loss+head.score_loss+head.width_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=ohem", "head.score_loss=ohem-smooth-l1", "head.width_loss=cauchy"], "slot": "loss", "component": "TopK+TopK+RobustLoss", "variant": "ohem+ohem-smooth-l1+cauchy", "verdict": "runs", "judge": 2, "config_hash": "4bae1fed144179bd", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=ohem --set head.score_loss=ohem-smooth-l1 --set head.width_loss=cauchy -o loss__GSNet__ohem+ohem-smooth-l1+cauchy@proposal.objectness_loss+head.score_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__ohem+ohem-smooth-l1+cauchy@proposal.objectness_loss+head.score_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [674, 814], "frames": 8, "losses": {"loss/objectness": [1.71, 0.8458], "loss/graspness": [5.176, 0.422], "loss/view": [6.291, 0.3902], "loss/score": [4.823, 0.247], "loss/width": [2.915, 0.214], "loss": [20.92, 2.119]}, "trend": {"loss/objectness": [1.71, 0.827, 0.516], "loss/graspness": [5.176, 0.3808, 0.926], "loss/view": [6.291, 0.3448, 0.945], "loss/score": [4.823, 0.2309, 0.952], "loss/width": [2.915, 0.273, 0.906], "loss": [20.92, 2.056, 0.902]}, "real_seeds": {"min": 0.667, "mean": 0.98, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07681, 0.1677, 0.2208], [0.1082, 0.1856, 0.3934]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.151, "peak_gpu_mib": 1841.6, "seconds": 33.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/class-balanced@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=class-balanced"], "slot": "loss", "component": "ClassBalanced", "variant": "class-balanced", "verdict": "runs", "judge": 2, "config_hash": "5262eba2b5cf70ea", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=class-balanced -o loss__GSNet__class-balanced@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__class-balanced@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [450, 450], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6112], "loss/graspness": [5.176, 0.443], "loss/view": [6.291, 1.085], "loss/score": [1.515, 0.08299], "loss/width": [3.654, 0.1719], "loss": [17.43, 2.394]}, "trend": {"loss/objectness": [0.7893, 0.6066, 0.231], "loss/graspness": [5.176, 0.3784, 0.927], "loss/view": [6.291, 0.6795, 0.892], "loss/score": [1.515, 0.08794, 0.942], "loss/width": [3.654, 0.206, 0.944], "loss": [17.43, 1.958, 0.888]}, "real_seeds": {"min": 0.253, "mean": 0.893, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1139, 0.1736, 0.2972], [0.1232, 0.1835, 0.2967]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.211, "peak_gpu_mib": 1841.7, "seconds": 38.7}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/dice@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=dice"], "slot": "loss", "component": "DiceLoss", "variant": "dice", "verdict": "runs", "judge": 2, "config_hash": "10b454f0220d6ab2", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=dice -o loss__GSNet__dice@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__dice@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [293, 473], "frames": 8, "losses": {"loss/objectness": [0.4634, 0.4098], "loss/graspness": [5.176, 0.4497], "loss/view": [6.291, 0.151], "loss/score": [1.515, 0.08007], "loss/width": [3.654, 0.1689], "loss": [17.1, 1.26]}, "trend": {"loss/objectness": [0.4634, 0.4247, 0.083], "loss/graspness": [5.176, 0.3814, 0.926], "loss/view": [6.291, 0.2427, 0.961], "loss/score": [1.515, 0.0902, 0.94], "loss/width": [3.654, 0.2484, 0.932], "loss": [17.1, 1.387, 0.919]}, "real_seeds": {"min": 0.662, "mean": 0.958, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09418, 0.1661, 0.2442], [0.09736, 0.1773, 0.3298]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.214, "peak_gpu_mib": 1841.5, "seconds": 38.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/lovasz-softmax@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=lovasz-softmax"], "slot": "loss", "component": "LovaszSoftmaxLoss", "variant": "lovasz-softmax", "verdict": "runs", "judge": 2, "config_hash": "36c17a38aab37915", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=lovasz-softmax -o loss__GSNet__lovasz-softmax@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__lovasz-softmax@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.4974, 0.4492], "loss/graspness": [5.176, 0.4462], "loss/view": [6.291, 0.1479], "loss/score": [1.515, 0.1037], "loss/width": [3.654, 0.228], "loss": [17.13, 1.375]}, "trend": {"loss/objectness": [0.4974, 0.4648, 0.066], "loss/graspness": [5.176, 0.3774, 0.927], "loss/view": [6.291, 0.2556, 0.959], "loss/score": [1.515, 0.1102, 0.927], "loss/width": [3.654, 0.2758, 0.925], "loss": [17.13, 1.484, 0.913]}, "real_seeds": {"min": 0.661, "mean": 0.973, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1097, 0.1784, 0.2568], [0.1222, 0.2773, 0.6211]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.179, "peak_gpu_mib": 1842.8, "seconds": 37.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/dice+quality-focal+softmax-focal+label-smoothing+class-balanced+cauchy@proposal.objectness_loss+proposal.graspness_loss+head.angle_loss+head.depth_loss+head.score_loss+head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["proposal.objectness_loss=dice", "proposal.graspness_loss=quality-focal", "head.angle_loss=softmax-focal", "head.depth_loss=label-smoothing", "head.score_loss=class-balanced", "head.width_loss=cauchy"], "slot": "loss", "component": "DiceLoss+QualityFocal+SoftmaxFocalLoss+LabelSmoothingCrossEntropy+ClassBalanced+RobustLoss", "variant": "dice+quality-focal+softmax-focal+label-smoothing+class-balanced+cauchy", "verdict": "runs", "judge": 2, "config_hash": "e32cf8a582f3f388", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set proposal.objectness_loss=dice --set proposal.graspness_loss=quality-focal --set head.angle_loss=softmax-focal --set head.depth_loss=label-smoothing --set head.score_loss=class-balanced --set head.width_loss=cauchy -o loss__EconomicGrasp__dice+quality-focal+softmax-focal+label-smoothing+class-balanced+cauchy@proposal.objectness_loss+proposal.graspness_loss+head.angle_loss+head.depth_loss+head.score_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__dice+quality-focal+softmax-focal+label-smoothing+class-balanced+cauchy@proposal.objectness_loss+proposal.graspness_loss+head.angle_loss+head.depth_loss+head.score_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.4623, 0.4206], "loss/graspness": [1.052, 0.2929], "loss/view": [5.951, 0.6495], "loss/angle": [2.986, 0.5004], "loss/depth": [2.156, 0.6143], "loss/score": [1.984, 1.789], "loss/width": [6.943, 0.638], "loss": [21.53, 4.905]}, "trend": {"loss/objectness": [0.4623, 0.4435, 0.041], "loss/graspness": [1.052, 0.3172, 0.698], "loss/view": [5.951, 0.6539, 0.89], "loss/angle": [2.986, 0.4538, 0.848], "loss/depth": [2.156, 0.6259, 0.71], "loss/score": [1.984, 1.786, 0.1], "loss/width": [6.943, 0.6429, 0.907], "loss": [21.53, 4.923, 0.771]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.096, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-0.5449, -0.004294, 0.4646], [-0.4652, 0.002843, 0.3602]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 2066.2, "seconds": 39.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/lovasz-softmax+bce+varifocal+poly1+ohem+focal@proposal.objectness_loss+proposal.graspness_loss+view.loss+head.angle_loss+head.depth_loss+head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["proposal.objectness_loss=lovasz-softmax", "proposal.graspness_loss=bce", "view.loss=varifocal", "head.angle_loss=poly1", "head.depth_loss=ohem", "head.score_loss=focal"], "slot": "loss", "component": "LovaszSoftmaxLoss+BinaryCrossEntropy+Varifocal+Poly1CrossEntropy+TopK+FocalLoss", "variant": "lovasz-softmax+bce+varifocal+poly1+ohem+focal", "verdict": "runs", "judge": 2, "config_hash": "1c59ae7d0b67dbdd", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set proposal.objectness_loss=lovasz-softmax --set proposal.graspness_loss=bce --set view.loss=varifocal --set head.angle_loss=poly1 --set head.depth_loss=ohem --set head.score_loss=focal -o loss__FineGrasp__lovasz-softmax+bce+varifocal+poly1+ohem+focal@proposal.objectness_loss+proposal.graspness_loss+view.loss+head.angle_loss+head.depth_loss+head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__lovasz-softmax+bce+varifocal+poly1+ohem+focal@proposal.objectness_loss+proposal.graspness_loss+view.loss+head.angle_loss+head.depth_loss+head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.5616, 0.4625], "loss/graspness": [8.965, 2.797], "loss/view": [15.47, 3.456], "loss/angle": [2.145, 1.302], "loss/depth": [2.414, 1.229], "loss/score": [1.393, 0.1413], "loss/width": [4.903, 0.9284], "loss": [35.85, 10.32]}, "trend": {"loss/objectness": [0.5616, 0.4629, 0.176], "loss/graspness": [8.965, 2.896, 0.677], "loss/view": [15.47, 3.262, 0.789], "loss/angle": [2.145, 1.355, 0.368], "loss/depth": [2.414, 1.262, 0.477], "loss/score": [1.393, 0.1473, 0.894], "loss/width": [4.903, 0.8846, 0.82], "loss": [35.85, 10.27, 0.714]}, "real_seeds": {"min": 0.602, "mean": 0.98, "zero_iterations": 0}, "supervised_seeds": {"min": 0.062, "mean": 0.162, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-5.297, -5.297, -5.297], [-5.297, -5.297, -5.297]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.639, "peak_gpu_mib": 11644.0, "seconds": 77.3}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/ohem-smooth-l1+ghm-r+ghm-c+balanced-l1+charbonnier@view.view_loss+head.score_loss+head.angle_loss+head.width_loss+head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["view.view_loss=ohem-smooth-l1", "head.score_loss=ghm-r", "head.angle_loss=ghm-c", "head.width_loss=balanced-l1", "head.tolerance_loss=charbonnier"], "slot": "loss", "component": "TopK+GHMR+GHMC+BalancedL1+RobustLoss", "variant": "ohem-smooth-l1+ghm-r+ghm-c+balanced-l1+charbonnier", "verdict": "runs", "judge": 2, "config_hash": "4348d66eeed8bf25", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view.view_loss=ohem-smooth-l1 --set head.score_loss=ghm-r --set head.angle_loss=ghm-c --set head.width_loss=balanced-l1 --set head.tolerance_loss=charbonnier -o loss__GraspNet-baseline__ohem-smooth-l1+ghm-r+ghm-c+balanced-l1+charbonnier@view.view_loss+head.score_loss+head.angle_loss+head.width_loss+head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__ohem-smooth-l1+ghm-r+ghm-c+balanced-l1+charbonnier@view.view_loss+head.score_loss+head.angle_loss+head.width_loss+head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [678, 647], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5206], "loss/view": [0.2914, 0.1104], "loss/score": [0.03309, 0.01521], "loss/angle": [1.916, 1.412], "loss/width": [1.019, 0.26], "loss/tolerance": [1.122, 0.3937], "loss": [5.143, 2.712]}, "trend": {"loss/objectness": [0.7623, 0.572, 0.25], "loss/view": [0.2914, 0.1171, 0.598], "loss/score": [0.03309, 0.01534, 0.536], "loss/angle": [1.916, 1.516, 0.208], "loss/width": [1.019, 0.2815, 0.724], "loss/tolerance": [1.122, 0.3914, 0.651], "loss": [5.143, 2.894, 0.437]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-25.11, 0.002401, 15.37], [-14.33, 0.08592, 20.47]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.235, "peak_gpu_mib": 3972.1, "seconds": 12.8}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/huber+class-balanced@view.view_loss+head.angle_loss+head.width_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["view.view_loss=huber", "head.angle_loss=class-balanced", "head.width_loss=huber"], "slot": "loss", "component": "Huber+ClassBalanced+Huber", "variant": "huber+class-balanced+huber", "verdict": "runs-empty", "judge": 2, "config_hash": "423a456fc56d5c32", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set view.view_loss=huber --set head.angle_loss=class-balanced --set head.width_loss=huber -o loss__Scale-Balanced-Grasp__huber+class-balanced@view.view_loss+head.angle_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__huber+class-balanced@view.view_loss+head.angle_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3244], "loss/view": [0.1199, 0.05562], "loss/score": [0.05227, 0.02535], "loss/angle": [0.5023, 0.4927], "loss/width": [0.5501, 0.1319], "loss/tolerance": [0.9566, 0.2374], "loss": [2.941, 1.267]}, "trend": {"loss/objectness": [0.7596, 0.3082, 0.594], "loss/view": [0.1199, 0.06157, 0.487], "loss/score": [0.05227, 0.01806, 0.654], "loss/angle": [0.5023, 0.4909, 0.023], "loss/width": [0.5501, 0.1753, 0.681], "loss/tolerance": [0.9566, 0.2667, 0.721], "loss": [2.941, 1.321, 0.551]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.402, "peak_gpu_mib": 9615.8, "seconds": 15.7}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/uncertainty-weighting@proposal.objectness_loss+proposal.graspness_loss+view.loss+head.score_loss+head.width_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=uncertainty-weighting", "proposal.graspness_loss=uncertainty-weighting", "view.loss=uncertainty-weighting", "head.score_loss=uncertainty-weighting", "head.width_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted+UncertaintyWeighted+UncertaintyWeighted+UncertaintyWeighted+UncertaintyWeighted", "variant": "uncertainty-weighting+uncertainty-weighting+uncertainty-weighting+uncertainty-weighting+uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "5fbe55138013572c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=uncertainty-weighting --set proposal.graspness_loss=uncertainty-weighting --set view.loss=uncertainty-weighting --set head.score_loss=uncertainty-weighting --set head.width_loss=uncertainty-weighting -o loss__GSNet__uncertainty-weighting@proposal.objectness_loss+proposal.graspness_loss+view.loss+head.score_loss+head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__uncertainty-weighting@proposal.objectness_loss+proposal.graspness_loss+view.loss+head.score_loss+head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353780, "iterations": 20, "batch_size": 4, "grasps_per_frame": [328, 433], "frames": 8, "losses": {"loss/objectness": [0.4427, 0.2371], "loss/graspness": [4.83, 0.04654], "loss/view": [5.945, 0.1384], "loss/score": [1.168, -0.2691], "loss/width": [3.307, -0.07191], "loss": [15.69, 0.08098]}, "trend": {"loss/objectness": [0.4427, 0.261, 0.411], "loss/graspness": [4.83, 0.01558, 0.997], "loss/view": [5.945, 0.08021, 0.987], "loss/score": [1.168, -0.2567, 1.22], "loss/width": [3.307, -0.06168, 1.019], "loss": [15.69, 0.0384, 0.998]}, "real_seeds": {"min": 0.436, "mean": 0.925, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [17, 5], "score_quantiles": [[0.08188, 0.1446, 0.2162], [0.1016, 0.1541, 0.262]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.259, "peak_gpu_mib": 1841.5, "seconds": 30.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/uncertainty-weighting@view.objectness_loss+view.view_loss+head.score_loss+head.angle_loss+head.width_loss+head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["view.objectness_loss=uncertainty-weighting", "view.view_loss=uncertainty-weighting", "head.score_loss=uncertainty-weighting", "head.angle_loss=uncertainty-weighting", "head.width_loss=uncertainty-weighting", "head.tolerance_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted+UncertaintyWeighted+UncertaintyWeighted+UncertaintyWeighted+UncertaintyWeighted+UncertaintyWeighted", "variant": "uncertainty-weighting+uncertainty-weighting+uncertainty-weighting+uncertainty-weighting+uncertainty-weighting+uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "25e40f3557973fd3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set view.objectness_loss=uncertainty-weighting --set view.view_loss=uncertainty-weighting --set head.score_loss=uncertainty-weighting --set head.angle_loss=uncertainty-weighting --set head.width_loss=uncertainty-weighting --set head.tolerance_loss=uncertainty-weighting -o loss__GraspNet-baseline__uncertainty-weighting@view.objectness_loss+view.view_loss+head.score_loss+head.angle_loss+head.width_loss+head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__uncertainty-weighting@view.objectness_loss+view.view_loss+head.score_loss+head.angle_loss+head.width_loss+head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025970, "iterations": 20, "batch_size": 2, "grasps_per_frame": [616, 570], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.4157, 0.2236], "loss/view": [-0.1464, -0.2787], "loss/score": [-0.2914, -0.317], "loss/angle": [0.1834, 0.1313], "loss/width": [0.2922, -0.2182], "loss/tolerance": [0.8414, 0.05022], "loss": [1.295, -0.4088]}, "trend": {"loss/objectness": [0.4157, 0.2437, 0.414], "loss/view": [-0.1464, -0.2744, 0.874], "loss/score": [-0.2914, -0.3244, 0.113], "loss/angle": [0.1834, 0.116, 0.368], "loss/width": [0.2922, -0.1873, 1.641], "loss/tolerance": [0.8414, 0.1289, 0.847], "loss": [1.295, -0.2974, 1.23]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [20, 4], "score_quantiles": [[-22.35, -0.2249, 11.12], [-21.48, -0.03135, 12.23]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.255, "peak_gpu_mib": 3972.1, "seconds": 12.0}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/focal@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=focal -o loss__GSNet__focal@head.width_loss.yaml", "refusal": ["SWADHead.width_loss is a `value` term (a prediction and a target of equal shape, the target an unbounded quantity), but FocalLoss fits `class` or `unit` terms. Losses for a `value` term: BalancedL1, GHMR, Huber, L1, MSE, RobustLoss, SmoothL1, TopK, UncertaintyWeighted."], "refusal_kinds": ["structural"], "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/quality-focal@head.score_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.score_loss=quality-focal"], "slot": "loss", "component": "QualityFocal", "variant": "quality-focal", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.score_loss=quality-focal -o loss__GraspNet-baseline__quality-focal@head.score_loss.yaml", "refusal": ["OperationHead.score_loss is a `value` term (a prediction and a target of equal shape, the target an unbounded quantity), but QualityFocal fits `unit` terms. Losses for a `value` term: BalancedL1, GHMR, Huber, L1, MSE, RobustLoss, SmoothL1, TopK, UncertaintyWeighted."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/dice@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=dice"], "slot": "loss", "component": "DiceLoss", "variant": "dice", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=dice -o loss__Scale-Balanced-Grasp__dice@head.angle_loss.yaml", "refusal": ["ScaleBalancedAssigner returns a loss weight per seed and OperationHead passes it to angle_loss, but DiceLoss scores the supervised set as a whole and cannot weight single elements. Losses for a `class` term that apply weights: ClassBalanced, CrossEntropy, FocalLoss, GHMC, LabelSmoothingCrossEntropy, Poly1CrossEntropy, SoftmaxFocalLoss, TopK, UncertaintyWeighted."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/balanced-l1@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "9a15a071554390a1", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=balanced-l1 -o loss__GSNet__balanced-l1@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__balanced-l1@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [413, 499], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6465], "loss/graspness": [5.176, 0.4127], "loss/view": [6.291, 0.3966], "loss/score": [4.094, 0.305], "loss/width": [3.654, 0.2685], "loss": [20.01, 2.029]}, "trend": {"loss/objectness": [0.7893, 0.6363, 0.194], "loss/graspness": [5.176, 0.3702, 0.928], "loss/view": [6.291, 0.3629, 0.942], "loss/score": [4.094, 0.3297, 0.919], "loss/width": [3.654, 0.2371, 0.935], "loss": [20.01, 1.936, 0.903]}, "real_seeds": {"min": 0.302, "mean": 0.908, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07931, 0.1061, 0.1829], [0.07292, 0.1144, 0.2037]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.275, "peak_gpu_mib": 1841.5, "seconds": 32.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/balanced-l1@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "269d76a3fce2a315", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=balanced-l1 -o loss__GSNet__balanced-l1@head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__balanced-l1@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6292], "loss/graspness": [5.176, 0.3999], "loss/view": [6.291, 0.4075], "loss/score": [1.515, 0.12], "loss/width": [7.802, 0.9987], "loss": [21.57, 2.555]}, "trend": {"loss/objectness": [0.7893, 0.616, 0.22], "loss/graspness": [5.176, 0.5051, 0.902], "loss/view": [6.291, 0.4401, 0.93], "loss/score": [1.515, 0.1246, 0.918], "loss/width": [7.802, 1.027, 0.868], "loss": [21.57, 2.713, 0.874]}, "real_seeds": {"min": 0.613, "mean": 0.946, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1208, 0.2164, 0.3646], [0.1093, 0.2214, 0.3731]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 1841.5, "seconds": 30.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/balanced-l1@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "ae65751d137bedca", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=balanced-l1 -o loss__EconomicGrasp__balanced-l1@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__balanced-l1@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6483], "loss/graspness": [5.216, 0.2812], "loss/view": [19.83, 1.961], "loss/angle": [3.303, 0.7403], "loss/depth": [2.236, 0.4014], "loss/score": [2.117, 0.5936], "loss/width": [8.756, 0.6838], "loss": [42.25, 5.31]}, "trend": {"loss/objectness": [0.7845, 0.6261, 0.202], "loss/graspness": [5.216, 0.3377, 0.935], "loss/view": [19.83, 2.074, 0.895], "loss/angle": [3.303, 0.745, 0.774], "loss/depth": [2.236, 0.4157, 0.814], "loss/score": [2.117, 0.6284, 0.703], "loss/width": [8.756, 0.6964, 0.92], "loss": [42.25, 5.523, 0.869]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.464, -3.249, -2.958], [-3.504, -3.248, -2.978]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.219, "peak_gpu_mib": 2064.3, "seconds": 35.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/balanced-l1@head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.width_loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "9e8fae19d1265d4f", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.width_loss=balanced-l1 -o loss__EconomicGrasp__balanced-l1@head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__balanced-l1@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6367], "loss/graspness": [5.216, 0.3627], "loss/view": [6.545, 0.6899], "loss/angle": [3.303, 0.8874], "loss/depth": [2.236, 0.4945], "loss/score": [2.117, 0.7407], "loss/width": [16.41, 2.138], "loss": [36.61, 5.95]}, "trend": {"loss/objectness": [0.7845, 0.6394, 0.185], "loss/graspness": [5.216, 0.3877, 0.926], "loss/view": [6.545, 0.7031, 0.893], "loss/angle": [3.303, 0.7454, 0.774], "loss/depth": [2.236, 0.4259, 0.81], "loss/score": [2.117, 0.6248, 0.705], "loss/width": [16.41, 2.197, 0.866], "loss": [36.61, 5.724, 0.844]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.134, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.566, -3.266, -2.334], [-3.583, -3.258, -2.096]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.184, "peak_gpu_mib": 2066.2, "seconds": 32.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/balanced-l1@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "eda7d38449a025be", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=balanced-l1 -o loss__FineGrasp__balanced-l1@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__balanced-l1@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6403], "loss/graspness": [2.473, 0.36], "loss/view": [17.14, 2.091], "loss/angle": [1.429, 0.8979], "loss/depth": [2.039, 0.491], "loss/score": [2.563, 0.7762], "loss/width": [4.953, 0.6921], "loss": [31.41, 5.948]}, "trend": {"loss/objectness": [0.8058, 0.6459, 0.198], "loss/graspness": [2.473, 0.4253, 0.828], "loss/view": [17.14, 1.821, 0.894], "loss/angle": [1.429, 0.8602, 0.398], "loss/depth": [2.039, 0.4528, 0.778], "loss/score": [2.563, 0.7171, 0.72], "loss/width": [4.953, 0.7279, 0.853], "loss": [31.41, 5.651, 0.82]}, "real_seeds": {"min": 0.135, "mean": 0.843, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.006, -2.006, -2.006], [-2.006, -2.006, -2.006]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.529, "peak_gpu_mib": 11671.5, "seconds": 86.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/balanced-l1@head.width_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.width_loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "0efac557744b3a10", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.width_loss=balanced-l1 -o loss__FineGrasp__balanced-l1@head.width_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__balanced-l1@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6521], "loss/graspness": [2.473, 0.3309], "loss/view": [5.497, 0.6051], "loss/angle": [1.429, 1.011], "loss/depth": [2.039, 0.5182], "loss/score": [2.563, 0.8488], "loss/width": [10.26, 2.273], "loss": [25.07, 6.239]}, "trend": {"loss/objectness": [0.8058, 0.6594, 0.182], "loss/graspness": [2.473, 0.3814, 0.846], "loss/view": [5.497, 0.6545, 0.881], "loss/angle": [1.429, 0.9874, 0.309], "loss/depth": [2.039, 0.5287, 0.741], "loss/score": [2.563, 0.8265, 0.677], "loss/width": [10.26, 2.302, 0.776], "loss": [25.07, 6.34, 0.747]}, "real_seeds": {"min": 0.011, "mean": 0.804, "zero_iterations": 0}, "supervised_seeds": {"min": 0.006, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.323, -2.323, -2.323], [-2.323, -2.323, -2.323]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.503, "peak_gpu_mib": 11643.5, "seconds": 85.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/balanced-l1@head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.tolerance_loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "35f28c55b32b6eb3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.tolerance_loss=balanced-l1 -o loss__GraspNet-baseline__balanced-l1@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__balanced-l1@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [681, 659], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5565], "loss/view": [0.2001, 0.07959], "loss/score": [0.05519, 0.04272], "loss/angle": [0.53, 0.4815], "loss/width": [0.6388, 0.1784], "loss/tolerance": [1.844, 0.9427], "loss": [4.031, 2.281]}, "trend": {"loss/objectness": [0.7623, 0.5999, 0.213], "loss/view": [0.2001, 0.08289, 0.586], "loss/score": [0.05519, 0.03238, 0.413], "loss/angle": [0.53, 0.4751, 0.103], "loss/width": [0.6388, 0.1815, 0.716], "loss/tolerance": [1.844, 0.8571, 0.535], "loss": [4.031, 2.229, 0.447]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-21.37, -0.00828, 26.76], [-25.29, -0.09938, 37.28]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.231, "peak_gpu_mib": 3972.1, "seconds": 12.0}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/balanced-l1@head.tolerance_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.tolerance_loss=balanced-l1"], "slot": "loss", "component": "BalancedL1", "variant": "balanced-l1", "verdict": "runs", "judge": 2, "config_hash": "cd14472cedc9d34c", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.tolerance_loss=balanced-l1 -o loss__Scale-Balanced-Grasp__balanced-l1@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__balanced-l1@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [79, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.328], "loss/view": [0.2608, 0.1111], "loss/score": [0.05227, 0.0227], "loss/angle": [0.4856, 0.4234], "loss/width": [0.5501, 0.1635], "loss/tolerance": [1.494, 0.4254], "loss": [3.602, 1.474]}, "trend": {"loss/objectness": [0.7596, 0.3133, 0.587], "loss/view": [0.2608, 0.1271, 0.512], "loss/score": [0.05227, 0.02004, 0.617], "loss/angle": [0.4856, 0.4081, 0.16], "loss/width": [0.5501, 0.1825, 0.668], "loss/tolerance": [1.494, 0.4924, 0.67], "loss": [3.602, 1.544, 0.572]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-11.71, 0.8701, 6.024], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.411, "peak_gpu_mib": 9615.8, "seconds": 15.9}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/bce@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=bce"], "slot": "loss", "component": "BinaryCrossEntropy", "variant": "bce", "verdict": "runs", "judge": 2, "config_hash": "71ce8917aa5e7858", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=bce -o loss__GSNet__bce@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__bce@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [888, 814], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6091], "loss/graspness": [5.176, 0.4384], "loss/view": [6.291, 0.5045], "loss/score": [10.93, 0.1672], "loss/width": [3.654, 0.4821], "loss": [26.84, 2.201]}, "trend": {"loss/objectness": [0.7893, 0.601, 0.239], "loss/graspness": [5.176, 0.4106, 0.921], "loss/view": [6.291, 0.4086, 0.935], "loss/score": [10.93, 0.2521, 0.977], "loss/width": [3.654, 0.4634, 0.873], "loss": [26.84, 2.136, 0.92]}, "real_seeds": {"min": 0.332, "mean": 0.894, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.01694, 0.03942, 0.2032], [0.01194, 0.04424, 0.2958]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.193, "peak_gpu_mib": 1841.5, "seconds": 34.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/bce@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=bce"], "slot": "loss", "component": "BinaryCrossEntropy", "variant": "bce", "verdict": "runs", "judge": 2, "config_hash": "f0ca114092f46e02", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=bce -o loss__EconomicGrasp__bce@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__bce@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6534], "loss/graspness": [5.216, 0.3487], "loss/view": [71.25, 10.83], "loss/angle": [3.303, 1.262], "loss/depth": [2.236, 0.6974], "loss/score": [2.117, 1.093], "loss/width": [8.756, 0.8458], "loss": [93.66, 15.73]}, "trend": {"loss/objectness": [0.7845, 0.6658, 0.151], "loss/graspness": [5.216, 0.4196, 0.92], "loss/view": [71.25, 11.6, 0.837], "loss/angle": [3.303, 1.165, 0.647], "loss/depth": [2.236, 0.6465, 0.711], "loss/score": [2.117, 1.003, 0.526], "loss/width": [8.756, 0.7843, 0.91], "loss": [93.66, 16.29, 0.826]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.128, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.21, -2.92, -2.491], [-3.308, -2.885, -2.559]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.183, "peak_gpu_mib": 2063.6, "seconds": 32.6}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/bce@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=bce"], "slot": "loss", "component": "BinaryCrossEntropy", "variant": "bce", "verdict": "runs", "judge": 2, "config_hash": "83ca094971a6db95", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=bce -o loss__FineGrasp__bce@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__bce@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6611], "loss/graspness": [2.473, 0.4033], "loss/view": [71.08, 10.55], "loss/angle": [1.429, 0.9682], "loss/depth": [2.039, 0.5668], "loss/score": [2.563, 0.8402], "loss/width": [4.953, 0.9185], "loss": [85.34, 14.91]}, "trend": {"loss/objectness": [0.8058, 0.6803, 0.156], "loss/graspness": [2.473, 0.748, 0.698], "loss/view": [71.08, 11.37, 0.84], "loss/angle": [1.429, 1.059, 0.259], "loss/depth": [2.039, 0.5938, 0.709], "loss/score": [2.563, 0.8975, 0.65], "loss/width": [4.953, 0.8515, 0.828], "loss": [85.34, 16.2, 0.81]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.006, "mean": 0.867, "zero_iterations": 0}, "supervised_seeds": {"min": 0.03, "mean": 0.134, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.582, -1.582, -1.582], [-1.582, -1.582, -1.582]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.639, "peak_gpu_mib": 11645.7, "seconds": 82.0}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/cauchy@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs", "judge": 2, "config_hash": "f26958404b363818", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=cauchy -o loss__GSNet__cauchy@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__cauchy@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [293, 382], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6428], "loss/graspness": [5.176, 0.4877], "loss/view": [6.291, 0.3305], "loss/score": [1.31, 0.08004], "loss/width": [3.654, 0.2781], "loss": [17.22, 1.819]}, "trend": {"loss/objectness": [0.7893, 0.6252, 0.208], "loss/graspness": [5.176, 0.3811, 0.926], "loss/view": [6.291, 0.4115, 0.935], "loss/score": [1.31, 0.0921, 0.93], "loss/width": [3.654, 0.2647, 0.928], "loss": [17.22, 1.775, 0.897]}, "real_seeds": {"min": 0.545, "mean": 0.938, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1036, 0.1563, 0.2282], [0.122, 0.1759, 0.2772]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.215, "peak_gpu_mib": 1841.5, "seconds": 42.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/cauchy@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs", "judge": 2, "config_hash": "39c21cb0498fafed", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=cauchy -o loss__GSNet__cauchy@head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__cauchy@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [764, 711], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5841], "loss/graspness": [5.176, 0.3188], "loss/view": [6.291, 0.4286], "loss/score": [1.515, 0.08046], "loss/width": [2.915, 0.1955], "loss": [16.69, 1.607]}, "trend": {"loss/objectness": [0.7893, 0.6198, 0.215], "loss/graspness": [5.176, 0.3244, 0.937], "loss/view": [6.291, 0.3641, 0.942], "loss/score": [1.515, 0.08977, 0.941], "loss/width": [2.915, 0.2227, 0.924], "loss": [16.69, 1.621, 0.903]}, "real_seeds": {"min": 0.634, "mean": 0.959, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1068, 0.1499, 0.2184], [0.1078, 0.1511, 0.3983]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.245, "peak_gpu_mib": 1841.5, "seconds": 31.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/cauchy@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs", "judge": 2, "config_hash": "1ec3cffeed513f12", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=cauchy -o loss__EconomicGrasp__cauchy@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__cauchy@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6362], "loss/graspness": [5.216, 0.2754], "loss/view": [5.861, 0.6007], "loss/angle": [3.303, 0.6707], "loss/depth": [2.236, 0.3825], "loss/score": [2.117, 0.5515], "loss/width": [8.756, 0.6694], "loss": [28.27, 3.786]}, "trend": {"loss/objectness": [0.7845, 0.6244, 0.204], "loss/graspness": [5.216, 0.3338, 0.936], "loss/view": [5.861, 0.6268, 0.893], "loss/angle": [3.303, 0.7291, 0.779], "loss/depth": [2.236, 0.4042, 0.819], "loss/score": [2.117, 0.6116, 0.711], "loss/width": [8.756, 0.7366, 0.916], "loss": [28.27, 4.066, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.42, -3.177, -2.842], [-3.443, -3.153, -2.492]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.175, "peak_gpu_mib": 2063.6, "seconds": 36.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/cauchy@head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.width_loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs", "judge": 2, "config_hash": "c8ceaf31f61f4b04", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.width_loss=cauchy -o loss__EconomicGrasp__cauchy@head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__cauchy@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5948], "loss/graspness": [5.216, 0.2698], "loss/view": [6.545, 0.7002], "loss/angle": [3.303, 0.8024], "loss/depth": [2.236, 0.4642], "loss/score": [2.117, 0.6771], "loss/width": [6.647, 0.668], "loss": [26.85, 4.177]}, "trend": {"loss/objectness": [0.7845, 0.5809, 0.26], "loss/graspness": [5.216, 0.3107, 0.94], "loss/view": [6.545, 0.7265, 0.889], "loss/angle": [3.303, 0.8114, 0.754], "loss/depth": [2.236, 0.4692, 0.79], "loss/score": [2.117, 0.7023, 0.668], "loss/width": [6.647, 0.6551, 0.901], "loss": [26.85, 4.256, 0.841]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.138, -2.876, -2.433], [-3.298, -2.935, -2.698]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.177, "peak_gpu_mib": 2066.2, "seconds": 34.6}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/cauchy@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs", "judge": 2, "config_hash": "ac19127ed92f3fa6", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=cauchy -o loss__FineGrasp__cauchy@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__cauchy@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6191], "loss/graspness": [2.473, 0.2692], "loss/view": [4.951, 0.5406], "loss/angle": [1.429, 0.9713], "loss/depth": [2.039, 0.5324], "loss/score": [2.563, 0.843], "loss/width": [4.953, 0.7471], "loss": [19.21, 4.523]}, "trend": {"loss/objectness": [0.8058, 0.627, 0.222], "loss/graspness": [2.473, 0.2784, 0.887], "loss/view": [4.951, 0.5361, 0.892], "loss/angle": [1.429, 0.9595, 0.329], "loss/depth": [2.039, 0.5283, 0.741], "loss/score": [2.563, 0.8321, 0.675], "loss/width": [4.953, 0.8202, 0.834], "loss": [19.21, 4.582, 0.762]}, "real_seeds": {"min": 0.602, "mean": 0.946, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.112, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.523, -1.523, -1.523], [-1.523, -1.523, -1.523]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.504, "peak_gpu_mib": 11645.7, "seconds": 90.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/cauchy@head.width_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.width_loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs", "judge": 2, "config_hash": "316fa74d0caf26bc", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.width_loss=cauchy -o loss__FineGrasp__cauchy@head.width_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__cauchy@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.612], "loss/graspness": [2.473, 0.2669], "loss/view": [5.497, 0.601], "loss/angle": [1.429, 1.065], "loss/depth": [2.039, 0.5502], "loss/score": [2.563, 0.8655], "loss/width": [3.921, 0.6953], "loss": [18.73, 4.656]}, "trend": {"loss/objectness": [0.8058, 0.6207, 0.23], "loss/graspness": [2.473, 0.2954, 0.881], "loss/view": [5.497, 0.6952, 0.874], "loss/angle": [1.429, 1.13, 0.209], "loss/depth": [2.039, 0.6194, 0.696], "loss/score": [2.563, 0.9539, 0.628], "loss/width": [3.921, 0.7107, 0.819], "loss": [18.73, 5.025, 0.732]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.03, "mean": 0.874, "zero_iterations": 0}, "supervised_seeds": {"min": 0.032, "mean": 0.145, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.184, -1.184, -1.184], [-1.184, -1.184, -1.184]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.506, "peak_gpu_mib": 11643.5, "seconds": 89.7}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/cauchy@head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.tolerance_loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs", "judge": 2, "config_hash": "fe99b63877648b66", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.tolerance_loss=cauchy -o loss__GraspNet-baseline__cauchy@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__cauchy@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [457, 367], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5705], "loss/view": [0.2001, 0.0786], "loss/score": [0.05519, 0.03314], "loss/angle": [0.53, 0.4697], "loss/width": [0.6388, 0.187], "loss/tolerance": [0.4987, 0.3302], "loss": [2.685, 1.669]}, "trend": {"loss/objectness": [0.7623, 0.5719, 0.25], "loss/view": [0.2001, 0.07943, 0.603], "loss/score": [0.05519, 0.03179, 0.424], "loss/angle": [0.53, 0.4602, 0.132], "loss/width": [0.6388, 0.182, 0.715], "loss/tolerance": [0.4987, 0.3261, 0.346], "loss": [2.685, 1.651, 0.385]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-23.28, -1.234, 17.63], [-36.84, -1.531, 17.32]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.208, "peak_gpu_mib": 3972.1, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/cauchy@head.tolerance_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.tolerance_loss=cauchy"], "slot": "loss", "component": "RobustLoss", "variant": "cauchy", "verdict": "runs-empty", "judge": 2, "config_hash": "a974733e3a61a098", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.tolerance_loss=cauchy -o loss__Scale-Balanced-Grasp__cauchy@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__cauchy@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3227], "loss/view": [0.2608, 0.1133], "loss/score": [0.05227, 0.02598], "loss/angle": [0.4856, 0.4314], "loss/width": [0.5501, 0.1138], "loss/tolerance": [0.4358, 0.25], "loss": [2.544, 1.257]}, "trend": {"loss/objectness": [0.7596, 0.3123, 0.589], "loss/view": [0.2608, 0.1267, 0.514], "loss/score": [0.05227, 0.02053, 0.607], "loss/angle": [0.4856, 0.4184, 0.138], "loss/width": [0.5501, 0.1443, 0.738], "loss/tolerance": [0.4358, 0.2452, 0.437], "loss": [2.544, 1.267, 0.502]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.43, "peak_gpu_mib": 9615.8, "seconds": 16.1}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/charbonnier@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs", "judge": 2, "config_hash": "389d7475df2b8070", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=charbonnier -o loss__GSNet__charbonnier@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__charbonnier@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [159, 196], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6295], "loss/graspness": [5.176, 0.4424], "loss/view": [6.291, 0.27], "loss/score": [1.337, 0.08093], "loss/width": [3.654, 0.2661], "loss": [17.25, 1.689]}, "trend": {"loss/objectness": [0.7893, 0.6191, 0.216], "loss/graspness": [5.176, 0.3648, 0.93], "loss/view": [6.291, 0.3412, 0.946], "loss/score": [1.337, 0.08657, 0.935], "loss/width": [3.654, 0.2305, 0.937], "loss": [17.25, 1.642, 0.905]}, "real_seeds": {"min": 0.494, "mean": 0.928, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08324, 0.1675, 0.2163], [0.09521, 0.1619, 0.2658]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.188, "peak_gpu_mib": 1841.5, "seconds": 34.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/charbonnier@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs", "judge": 2, "config_hash": "9fa0cc9a2b06cc8d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=charbonnier -o loss__GSNet__charbonnier@head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__charbonnier@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [364, 331], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5821], "loss/graspness": [5.176, 0.3694], "loss/view": [6.291, 0.2487], "loss/score": [1.515, 0.07662], "loss/width": [3.058, 0.238], "loss": [16.83, 1.515]}, "trend": {"loss/objectness": [0.7893, 0.6036, 0.235], "loss/graspness": [5.176, 0.34, 0.934], "loss/view": [6.291, 0.3596, 0.943], "loss/score": [1.515, 0.09181, 0.939], "loss/width": [3.058, 0.2146, 0.93], "loss": [16.83, 1.61, 0.904]}, "real_seeds": {"min": 0.556, "mean": 0.936, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09483, 0.1733, 0.2213], [0.1176, 0.178, 0.2924]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.202, "peak_gpu_mib": 1841.5, "seconds": 32.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/charbonnier@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs", "judge": 2, "config_hash": "380223eeccfa8070", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=charbonnier -o loss__EconomicGrasp__charbonnier@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__charbonnier@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.619], "loss/graspness": [5.216, 0.2761], "loss/view": [5.932, 0.6091], "loss/angle": [3.303, 0.7828], "loss/depth": [2.236, 0.4524], "loss/score": [2.117, 0.6745], "loss/width": [8.756, 0.726], "loss": [28.34, 4.14]}, "trend": {"loss/objectness": [0.7845, 0.6107, 0.222], "loss/graspness": [5.216, 0.3308, 0.937], "loss/view": [5.932, 0.6348, 0.893], "loss/angle": [3.303, 0.7628, 0.769], "loss/depth": [2.236, 0.4569, 0.796], "loss/score": [2.117, 0.6605, 0.688], "loss/width": [8.756, 0.7283, 0.917], "loss": [28.34, 4.185, 0.852]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.518, -3.214, -2.909], [-3.475, -3.229, -2.979]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.172, "peak_gpu_mib": 2064.3, "seconds": 36.7}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/charbonnier@head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.width_loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs", "judge": 2, "config_hash": "abd2b92a04cfc13c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.width_loss=charbonnier -o loss__EconomicGrasp__charbonnier@head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__charbonnier@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.61], "loss/graspness": [5.216, 0.277], "loss/view": [6.545, 0.6867], "loss/angle": [3.303, 0.7922], "loss/depth": [2.236, 0.3985], "loss/score": [2.117, 0.6543], "loss/width": [7.143, 0.6393], "loss": [27.34, 4.058]}, "trend": {"loss/objectness": [0.7845, 0.6023, 0.232], "loss/graspness": [5.216, 0.337, 0.935], "loss/view": [6.545, 0.7141, 0.891], "loss/angle": [3.303, 0.7576, 0.771], "loss/depth": [2.236, 0.4147, 0.815], "loss/score": [2.117, 0.6525, 0.692], "loss/width": [7.143, 0.6674, 0.907], "loss": [27.34, 4.146, 0.848]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.14, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.396, -3.152, -2.855], [-3.465, -3.166, -2.91]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.161, "peak_gpu_mib": 2066.2, "seconds": 35.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/charbonnier@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs", "judge": 2, "config_hash": "1980cf01cc886610", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=charbonnier -o loss__FineGrasp__charbonnier@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__charbonnier@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.616], "loss/graspness": [2.473, 0.2651], "loss/view": [5.008, 0.5482], "loss/angle": [1.429, 1.061], "loss/depth": [2.039, 0.5809], "loss/score": [2.563, 0.9013], "loss/width": [4.953, 0.7303], "loss": [19.27, 4.703]}, "trend": {"loss/objectness": [0.8058, 0.625, 0.224], "loss/graspness": [2.473, 0.2753, 0.889], "loss/view": [5.008, 0.5433, 0.892], "loss/angle": [1.429, 1.001, 0.299], "loss/depth": [2.039, 0.5371, 0.737], "loss/score": [2.563, 0.8419, 0.672], "loss/width": [4.953, 0.7872, 0.841], "loss": [19.27, 4.611, 0.761]}, "real_seeds": {"min": 0.642, "mean": 0.955, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.739, -1.739, -1.738], [-1.739, -1.739, -1.738]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.533, "peak_gpu_mib": 11643.5, "seconds": 90.0}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/charbonnier@head.width_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.width_loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs", "judge": 2, "config_hash": "de008f7403dd8d24", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.width_loss=charbonnier -o loss__FineGrasp__charbonnier@head.width_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__charbonnier@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.619], "loss/graspness": [2.473, 0.2677], "loss/view": [5.497, 0.6457], "loss/angle": [1.429, 0.9815], "loss/depth": [2.039, 0.5369], "loss/score": [2.563, 0.8338], "loss/width": [4.127, 0.7723], "loss": [18.93, 4.657]}, "trend": {"loss/objectness": [0.8058, 0.6245, 0.225], "loss/graspness": [2.473, 0.2718, 0.89], "loss/view": [5.497, 0.6128, 0.889], "loss/angle": [1.429, 0.9923, 0.306], "loss/depth": [2.039, 0.524, 0.743], "loss/score": [2.563, 0.8222, 0.679], "loss/width": [4.127, 0.7882, 0.809], "loss": [18.93, 4.636, 0.755]}, "real_seeds": {"min": 0.738, "mean": 0.982, "zero_iterations": 0}, "supervised_seeds": {"min": 0.035, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.51, -1.51, -1.509], [-1.51, -1.51, -1.509]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.511, "peak_gpu_mib": 11643.5, "seconds": 90.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/charbonnier@head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.tolerance_loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs", "judge": 2, "config_hash": "b1037cd54b751297", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.tolerance_loss=charbonnier -o loss__GraspNet-baseline__charbonnier@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__charbonnier@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [435, 168], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5681], "loss/view": [0.2001, 0.07579], "loss/score": [0.05519, 0.03596], "loss/angle": [0.53, 0.4864], "loss/width": [0.6388, 0.213], "loss/tolerance": [1.122, 0.3562], "loss": [3.308, 1.735]}, "trend": {"loss/objectness": [0.7623, 0.5722, 0.249], "loss/view": [0.2001, 0.07863, 0.607], "loss/score": [0.05519, 0.03384, 0.387], "loss/angle": [0.53, 0.4666, 0.12], "loss/width": [0.6388, 0.1754, 0.725], "loss/tolerance": [1.122, 0.409, 0.635], "loss": [3.308, 1.736, 0.475]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-17.1, 0.02011, 23.84], [-20.6, -0.4871, 12.04]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.231, "peak_gpu_mib": 3972.1, "seconds": 11.7}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/charbonnier@head.tolerance_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.tolerance_loss=charbonnier"], "slot": "loss", "component": "RobustLoss", "variant": "charbonnier", "verdict": "runs-empty", "judge": 2, "config_hash": "3f9c741cec5595a7", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.tolerance_loss=charbonnier -o loss__Scale-Balanced-Grasp__charbonnier@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__charbonnier@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3283], "loss/view": [0.2608, 0.109], "loss/score": [0.05227, 0.02183], "loss/angle": [0.4856, 0.4427], "loss/width": [0.5501, 0.1415], "loss/tolerance": [0.8964, 0.2463], "loss": [3.005, 1.29]}, "trend": {"loss/objectness": [0.7596, 0.3107, 0.591], "loss/view": [0.2608, 0.1235, 0.527], "loss/score": [0.05227, 0.02026, 0.612], "loss/angle": [0.4856, 0.4211, 0.133], "loss/width": [0.5501, 0.1727, 0.686], "loss/tolerance": [0.8964, 0.2436, 0.728], "loss": [3.005, 1.292, 0.57]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.465, "peak_gpu_mib": 9615.8, "seconds": 16.3}, "run": "2026-10-15@96facee"},
  {"id": "loss/EconomicGrasp/class-balanced@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=class-balanced"], "slot": "loss", "component": "ClassBalanced", "variant": "class-balanced", "verdict": "runs", "judge": 2, "config_hash": "ce2c7dce1db5842b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=class-balanced -o loss__EconomicGrasp__class-balanced@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__class-balanced@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6219], "loss/graspness": [5.216, 0.2692], "loss/view": [6.545, 0.6852], "loss/angle": [3.303, 0.7971], "loss/depth": [2.236, 0.3967], "loss/score": [1.968, 1.809], "loss/width": [8.756, 0.7349], "loss": [28.81, 5.314]}, "trend": {"loss/objectness": [0.7845, 0.6108, 0.221], "loss/graspness": [5.216, 0.3431, 0.934], "loss/view": [6.545, 0.7187, 0.89], "loss/angle": [3.303, 0.7485, 0.773], "loss/depth": [2.236, 0.4289, 0.808], "loss/score": [1.968, 1.789, 0.091], "loss/width": [8.756, 0.7203, 0.918], "loss": [28.81, 5.359, 0.814]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-0.5725, -0.001363, 0.4463], [-0.3524, 0.05725, 0.485]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.479, "peak_gpu_mib": 2066.2, "seconds": 39.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/class-balanced@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=class-balanced"], "slot": "loss", "component": "ClassBalanced", "variant": "class-balanced", "verdict": "runs", "judge": 2, "config_hash": "4b934426c254e806", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=class-balanced -o loss__FineGrasp__class-balanced@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__class-balanced@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6193], "loss/graspness": [2.473, 0.2631], "loss/view": [5.497, 0.64], "loss/angle": [1.429, 1.094], "loss/depth": [2.039, 0.5734], "loss/score": [1.961, 1.788], "loss/width": [4.953, 0.732], "loss": [19.16, 5.71]}, "trend": {"loss/objectness": [0.8058, 0.6271, 0.222], "loss/graspness": [2.473, 0.2715, 0.89], "loss/view": [5.497, 0.6093, 0.889], "loss/angle": [1.429, 1.018, 0.288], "loss/depth": [2.039, 0.5204, 0.745], "loss/score": [1.961, 1.792, 0.086], "loss/width": [4.953, 0.7698, 0.845], "loss": [19.16, 5.609, 0.707]}, "real_seeds": {"min": 0.811, "mean": 0.973, "zero_iterations": 0}, "supervised_seeds": {"min": 0.03, "mean": 0.121, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.1048, 0.1049, 0.105], [0.1048, 0.1049, 0.1051]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.648, "peak_gpu_mib": 11643.5, "seconds": 75.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/class-balanced@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=class-balanced"], "slot": "loss", "component": "ClassBalanced", "variant": "class-balanced", "verdict": "runs", "judge": 2, "config_hash": "43e6800cf7f0d758", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=class-balanced -o loss__GraspNet-baseline__class-balanced@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__class-balanced@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [403, 596], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5589], "loss/view": [0.2001, 0.07744], "loss/score": [0.05519, 0.0341], "loss/angle": [0.5028, 0.4932], "loss/width": [0.6388, 0.1706], "loss/tolerance": [1.188, 0.4087], "loss": [3.347, 1.743]}, "trend": {"loss/objectness": [0.7623, 0.5979, 0.216], "loss/view": [0.2001, 0.07968, 0.602], "loss/score": [0.05519, 0.03569, 0.353], "loss/angle": [0.5028, 0.4911, 0.023], "loss/width": [0.6388, 0.1699, 0.734], "loss/tolerance": [1.188, 0.4466, 0.624], "loss": [3.347, 1.821, 0.456]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-15.73, -0.2524, 15.04], [-15.34, 0.04728, 15.58]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.261, "peak_gpu_mib": 3972.1, "seconds": 12.8}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/class-balanced@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=class-balanced"], "slot": "loss", "component": "ClassBalanced", "variant": "class-balanced", "verdict": "runs-empty", "judge": 2, "config_hash": "3d6ecb770ab1e0cf", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=class-balanced -o loss__Scale-Balanced-Grasp__class-balanced@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__class-balanced@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3397], "loss/view": [0.2608, 0.1127], "loss/score": [0.05227, 0.02273], "loss/angle": [0.5023, 0.4803], "loss/width": [0.5501, 0.1526], "loss/tolerance": [0.9566, 0.219], "loss": [3.082, 1.327]}, "trend": {"loss/objectness": [0.7596, 0.3154, 0.585], "loss/view": [0.2608, 0.1265, 0.515], "loss/score": [0.05227, 0.0195, 0.627], "loss/angle": [0.5023, 0.4905, 0.023], "loss/width": [0.5501, 0.1598, 0.709], "loss/tolerance": [0.9566, 0.2732, 0.714], "loss": [3.082, 1.385, 0.551]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.414, "peak_gpu_mib": 9615.8, "seconds": 15.9}, "run": "2026-10-15@96facee"},
  {"id": "loss/EconomicGrasp/dice@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=dice"], "slot": "loss", "component": "DiceLoss", "variant": "dice", "verdict": "runs", "judge": 2, "config_hash": "7efbb472276d10c3", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=dice -o loss__EconomicGrasp__dice@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__dice@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6119], "loss/graspness": [5.216, 0.2837], "loss/view": [6.545, 0.6758], "loss/angle": [3.303, 0.7104], "loss/depth": [2.236, 0.401], "loss/score": [0.8716, 0.1619], "loss/width": [8.756, 0.6681], "loss": [27.71, 3.513]}, "trend": {"loss/objectness": [0.7845, 0.613, 0.219], "loss/graspness": [5.216, 0.3265, 0.937], "loss/view": [6.545, 0.7063, 0.892], "loss/angle": [3.303, 0.763, 0.769], "loss/depth": [2.236, 0.4121, 0.816], "loss/score": [0.8716, 0.1803, 0.793], "loss/width": [8.756, 0.7061, 0.919], "loss": [27.71, 3.707, 0.866]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-5.102, -4.858, -4.44], [-5.141, -4.866, -4.521]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.608, "peak_gpu_mib": 2066.2, "seconds": 39.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/dice@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=dice"], "slot": "loss", "component": "DiceLoss", "variant": "dice", "verdict": "runs", "judge": 2, "config_hash": "e33d368bf93fdcac", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=dice -o loss__FineGrasp__dice@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__dice@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6165], "loss/graspness": [2.473, 0.2598], "loss/view": [5.497, 0.6287], "loss/angle": [1.429, 1.099], "loss/depth": [2.039, 0.543], "loss/score": [0.9147, 0.2455], "loss/width": [4.953, 0.8202], "loss": [18.11, 4.213]}, "trend": {"loss/objectness": [0.8058, 0.6244, 0.225], "loss/graspness": [2.473, 0.2685, 0.891], "loss/view": [5.497, 0.6097, 0.889], "loss/angle": [1.429, 1.061, 0.257], "loss/depth": [2.039, 0.5419, 0.734], "loss/score": [0.9147, 0.2375, 0.74], "loss/width": [4.953, 0.8363, 0.831], "loss": [18.11, 4.18, 0.769]}, "real_seeds": {"min": 0.859, "mean": 0.986, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-5.026, -5.026, -5.026], [-5.026, -5.026, -5.026]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.635, "peak_gpu_mib": 11643.5, "seconds": 76.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/dice@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=dice"], "slot": "loss", "component": "DiceLoss", "variant": "dice", "verdict": "runs", "judge": 2, "config_hash": "b1fc88288b820cfe", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=dice -o loss__GraspNet-baseline__dice@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__dice@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [642, 699], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.563], "loss/view": [0.2001, 0.07911], "loss/score": [0.05519, 0.03319], "loss/angle": [0.1845, 0.1811], "loss/width": [0.6388, 0.2024], "loss/tolerance": [1.188, 0.447], "loss": [3.029, 1.506]}, "trend": {"loss/objectness": [0.7623, 0.5623, 0.262], "loss/view": [0.2001, 0.07992, 0.601], "loss/score": [0.05519, 0.03107, 0.437], "loss/angle": [0.1845, 0.1809, 0.019], "loss/width": [0.6388, 0.1708, 0.733], "loss/tolerance": [1.188, 0.4942, 0.584], "loss": [3.029, 1.519, 0.498]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-25.18, -0.006272, 34.62], [-26.68, -0.2369, 25.68]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.288, "peak_gpu_mib": 3972.1, "seconds": 13.1}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/focal@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "982ffce33a81f940", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=focal -o loss__GSNet__focal@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__focal@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [372, 408], "frames": 8, "losses": {"loss/objectness": [0.3003, 0.1464], "loss/graspness": [5.176, 0.4917], "loss/view": [6.291, 0.2542], "loss/score": [1.515, 0.08227], "loss/width": [3.654, 0.2184], "loss": [16.94, 1.193]}, "trend": {"loss/objectness": [0.3003, 0.1397, 0.535], "loss/graspness": [5.176, 0.3881, 0.925], "loss/view": [6.291, 0.3569, 0.943], "loss/score": [1.515, 0.09775, 0.935], "loss/width": [3.654, 0.2794, 0.924], "loss": [16.94, 1.262, 0.925]}, "real_seeds": {"min": 0.261, "mean": 0.873, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1071, 0.1977, 0.3052], [0.1133, 0.1868, 0.2957]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.289, "peak_gpu_mib": 1843.8, "seconds": 30.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/focal@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "c18eeff30c279b57", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=focal -o loss__GSNet__focal@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__focal@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [159, 239], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6602], "loss/graspness": [5.176, 0.4707], "loss/view": [6.291, 0.6564], "loss/score": [2.481, 0.0213], "loss/width": [3.654, 0.4096], "loss": [18.39, 2.218]}, "trend": {"loss/objectness": [0.7893, 0.6255, 0.207], "loss/graspness": [5.176, 0.3777, 0.927], "loss/view": [6.291, 0.4471, 0.929], "loss/score": [2.481, 0.04857, 0.98], "loss/width": [3.654, 0.3104, 0.915], "loss": [18.39, 1.809, 0.902]}, "real_seeds": {"min": 0.318, "mean": 0.902, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.2723, 0.3256, 0.4401], [0.2402, 0.2997, 0.4258]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.196, "peak_gpu_mib": 1841.5, "seconds": 35.6}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/focal@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "fe649be8f4b86f68", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=focal -o loss__EconomicGrasp__focal@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__focal@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6118], "loss/graspness": [5.216, 0.2777], "loss/view": [6.545, 0.6897], "loss/angle": [3.303, 0.7149], "loss/depth": [2.236, 0.3889], "loss/score": [1.571, 0.112], "loss/width": [8.756, 0.6374], "loss": [28.41, 3.432]}, "trend": {"loss/objectness": [0.7845, 0.6051, 0.229], "loss/graspness": [5.216, 0.3267, 0.937], "loss/view": [6.545, 0.723, 0.89], "loss/angle": [3.303, 0.7442, 0.775], "loss/depth": [2.236, 0.4207, 0.812], "loss/score": [1.571, 0.1162, 0.926], "loss/width": [8.756, 0.705, 0.919], "loss": [28.41, 3.641, 0.872]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-5.966, -5.765, -5.506], [-5.994, -5.789, -4.604]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.192, "peak_gpu_mib": 2066.2, "seconds": 34.7}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/focal@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "0f9a2a96b9fa8058", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=focal -o loss__EconomicGrasp__focal@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__focal@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6114], "loss/graspness": [5.216, 0.2782], "loss/view": [14.74, 1.078], "loss/angle": [3.303, 1.16], "loss/depth": [2.236, 0.6267], "loss/score": [2.117, 0.9776], "loss/width": [8.756, 0.7339], "loss": [37.16, 5.465]}, "trend": {"loss/objectness": [0.7845, 0.6175, 0.213], "loss/graspness": [5.216, 0.3615, 0.931], "loss/view": [14.74, 1.247, 0.915], "loss/angle": [3.303, 1.03, 0.688], "loss/depth": [2.236, 0.5806, 0.74], "loss/score": [2.117, 0.8807, 0.584], "loss/width": [8.756, 0.7612, 0.913], "loss": [37.16, 5.479, 0.853]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.36, -3.062, -2.782], [-3.609, -3.085, -2.82]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.439, "peak_gpu_mib": 2064.3, "seconds": 40.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/focal@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "5417795adb4ec148", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=focal -o loss__FineGrasp__focal@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__focal@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6222], "loss/graspness": [2.473, 0.2645], "loss/view": [5.497, 0.6045], "loss/angle": [1.429, 0.9724], "loss/depth": [2.039, 0.5212], "loss/score": [1.399, 0.1554], "loss/width": [4.953, 0.8179], "loss": [18.6, 3.958]}, "trend": {"loss/objectness": [0.8058, 0.6292, 0.219], "loss/graspness": [2.473, 0.2744, 0.889], "loss/view": [5.497, 0.6028, 0.89], "loss/angle": [1.429, 0.9356, 0.345], "loss/depth": [2.039, 0.5037, 0.753], "loss/score": [1.399, 0.1457, 0.896], "loss/width": [4.953, 0.8587, 0.827], "loss": [18.6, 3.95, 0.788]}, "real_seeds": {"min": 0.863, "mean": 0.99, "zero_iterations": 0}, "supervised_seeds": {"min": 0.027, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-5.208, -5.208, -5.208], [-5.208, -5.208, -5.208]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.563, "peak_gpu_mib": 11643.5, "seconds": 82.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/focal@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "0a4bfc2a14c87cd5", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=focal -o loss__FineGrasp__focal@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__focal@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5929], "loss/graspness": [2.473, 0.2631], "loss/view": [14.47, 0.6945], "loss/angle": [1.429, 1.002], "loss/depth": [2.039, 0.5323], "loss/score": [2.563, 0.8512], "loss/width": [4.953, 0.9317], "loss": [28.74, 4.867]}, "trend": {"loss/objectness": [0.8058, 0.6094, 0.244], "loss/graspness": [2.473, 0.2761, 0.888], "loss/view": [14.47, 0.6945, 0.952], "loss/angle": [1.429, 0.9356, 0.345], "loss/depth": [2.039, 0.4699, 0.77], "loss/score": [2.563, 0.7954, 0.69], "loss/width": [4.953, 0.8259, 0.833], "loss": [28.74, 4.607, 0.84]}, "real_seeds": {"min": 0.776, "mean": 0.979, "zero_iterations": 0}, "supervised_seeds": {"min": 0.027, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.72, -1.72, -1.72], [-1.72, -1.72, -1.72]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.63, "peak_gpu_mib": 11643.0, "seconds": 74.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/focal@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "e24890b9216ef763", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=focal -o loss__GraspNet-baseline__focal@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__focal@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [448, 552], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5471], "loss/view": [0.2001, 0.07274], "loss/score": [0.05519, 0.03901], "loss/angle": [0.3066, 0.1115], "loss/width": [0.6388, 0.1768], "loss/tolerance": [1.188, 0.4847], "loss": [3.151, 1.432]}, "trend": {"loss/objectness": [0.7623, 0.5652, 0.259], "loss/view": [0.2001, 0.07697, 0.615], "loss/score": [0.05519, 0.03196, 0.421], "loss/angle": [0.3066, 0.1138, 0.629], "loss/width": [0.6388, 0.1771, 0.723], "loss/tolerance": [1.188, 0.4508, 0.621], "loss": [3.151, 1.416, 0.551]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-39.52, 0.4384, 23.99], [-22.31, 0.5367, 30.08]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.216, "peak_gpu_mib": 3972.1, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/focal@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=focal"], "slot": "loss", "component": "FocalLoss", "variant": "focal", "verdict": "runs", "judge": 2, "config_hash": "ec0f7da01a5afc94", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=focal -o loss__Scale-Balanced-Grasp__focal@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__focal@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [2, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3386], "loss/view": [0.2608, 0.1129], "loss/score": [0.05227, 0.02724], "loss/angle": [0.3741, 0.1041], "loss/width": [0.5501, 0.1338], "loss/tolerance": [0.9566, 0.2411], "loss": [2.953, 0.9577]}, "trend": {"loss/objectness": [0.7596, 0.3119, 0.589], "loss/view": [0.2608, 0.1242, 0.524], "loss/score": [0.05227, 0.02121, 0.594], "loss/angle": [0.3741, 0.1089, 0.709], "loss/width": [0.5501, 0.1461, 0.734], "loss/tolerance": [0.9566, 0.2605, 0.728], "loss": [2.953, 0.9728, 0.671]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-4.818, -1.374, 2.069], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.414, "peak_gpu_mib": 9615.8, "seconds": 15.8}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/ghm-c@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "a9fbacd6959177bc", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=ghm-c -o loss__GSNet__ghm-c@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__ghm-c@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [1.926, 1.851], "loss/graspness": [5.176, 0.3173], "loss/view": [6.291, 0.3415], "loss/score": [1.515, 0.1035], "loss/width": [3.654, 0.213], "loss": [18.56, 2.826]}, "trend": {"loss/objectness": [1.926, 1.768, 0.082], "loss/graspness": [5.176, 0.4592, 0.911], "loss/view": [6.291, 0.2673, 0.958], "loss/score": [1.515, 0.1153, 0.924], "loss/width": [3.654, 0.2295, 0.937], "loss": [18.56, 2.839, 0.847]}, "real_seeds": {"min": 0.5, "mean": 0.965, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.117, 0.1902, 0.3163], [0.1167, 0.2126, 0.5991]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.177, "peak_gpu_mib": 1841.5, "seconds": 35.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/ghm-c@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "b36ef594d502908f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=ghm-c -o loss__GSNet__ghm-c@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__ghm-c@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6336], "loss/graspness": [5.176, 0.5703], "loss/view": [6.291, 0.3479], "loss/score": [14.71, 10.6], "loss/width": [3.654, 0.3522], "loss": [30.62, 12.5]}, "trend": {"loss/objectness": [0.7893, 0.6435, 0.185], "loss/graspness": [5.176, 0.5658, 0.891], "loss/view": [6.291, 0.431, 0.931], "loss/score": [14.71, 9.882, 0.328], "loss/width": [3.654, 0.3677, 0.899], "loss": [30.62, 11.89, 0.612]}, "real_seeds": {"min": 0.879, "mean": 0.991, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.4023, 0.4436, 0.4896], [0.3792, 0.4405, 0.4985]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.195, "peak_gpu_mib": 1841.5, "seconds": 34.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/ghm-c@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "13ff299bda7ddb46", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=ghm-c -o loss__EconomicGrasp__ghm-c@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__ghm-c@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.627], "loss/graspness": [5.216, 0.2925], "loss/view": [6.545, 0.6789], "loss/angle": [3.303, 0.7962], "loss/depth": [2.236, 0.4037], "loss/score": [4.952, 3.72], "loss/width": [8.756, 0.6993], "loss": [31.79, 7.218]}, "trend": {"loss/objectness": [0.7845, 0.6172, 0.213], "loss/graspness": [5.216, 0.3468, 0.934], "loss/view": [6.545, 0.7091, 0.892], "loss/angle": [3.303, 0.701, 0.788], "loss/depth": [2.236, 0.4102, 0.817], "loss/score": [4.952, 3.749, 0.243], "loss/width": [8.756, 0.6845, 0.922], "loss": [31.79, 7.218, 0.773]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.692, -1.266, -0.9153], [-1.865, -1.329, -0.9014]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.183, "peak_gpu_mib": 2066.2, "seconds": 35.3}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/ghm-c@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "8f6baa12e51211b9", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=ghm-c -o loss__EconomicGrasp__ghm-c@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__ghm-c@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6679], "loss/graspness": [5.216, 0.4579], "loss/view": [103.0, 65.4], "loss/angle": [3.303, 0.8782], "loss/depth": [2.236, 0.4487], "loss/score": [2.117, 0.73], "loss/width": [8.756, 0.7176], "loss": [125.4, 69.3]}, "trend": {"loss/objectness": [0.7845, 0.679, 0.134], "loss/graspness": [5.216, 0.4796, 0.908], "loss/view": [103.0, 69.79, 0.323], "loss/angle": [3.303, 0.7702, 0.767], "loss/depth": [2.236, 0.4284, 0.808], "loss/score": [2.117, 0.6563, 0.69], "loss/width": [8.756, 0.7324, 0.916], "loss": [125.4, 73.53, 0.414]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.12, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.381, -3.065, -2.76], [-3.362, -3.067, -2.787]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.19, "peak_gpu_mib": 2066.2, "seconds": 36.0}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/ghm-c@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "4310b91a36e12da7", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=ghm-c -o loss__FineGrasp__ghm-c@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__ghm-c@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.62], "loss/graspness": [2.473, 0.2635], "loss/view": [5.497, 0.6029], "loss/angle": [1.429, 0.9922], "loss/depth": [2.039, 0.5185], "loss/score": [5.395, 3.77], "loss/width": [4.953, 0.7567], "loss": [22.59, 7.524]}, "trend": {"loss/objectness": [0.8058, 0.6267, 0.222], "loss/graspness": [2.473, 0.2748, 0.889], "loss/view": [5.497, 0.6086, 0.889], "loss/angle": [1.429, 0.9902, 0.307], "loss/depth": [2.039, 0.5253, 0.742], "loss/score": [5.395, 4.116, 0.237], "loss/width": [4.953, 0.82, 0.834], "loss": [22.59, 7.962, 0.648]}, "real_seeds": {"min": 0.758, "mean": 0.968, "zero_iterations": 0}, "supervised_seeds": {"min": 0.031, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.171, -1.171, -1.171], [-1.171, -1.171, -1.171]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.515, "peak_gpu_mib": 11643.5, "seconds": 85.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/ghm-c@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "35089a1b9c1b10fc", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=ghm-c -o loss__FineGrasp__ghm-c@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__ghm-c@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6491], "loss/graspness": [2.473, 0.696], "loss/view": [104.1, 77.23], "loss/angle": [1.429, 0.8555], "loss/depth": [2.039, 0.4905], "loss/score": [2.563, 0.7388], "loss/width": [4.953, 0.9678], "loss": [118.3, 81.63]}, "trend": {"loss/objectness": [0.8058, 0.652, 0.191], "loss/graspness": [2.473, 0.8737, 0.647], "loss/view": [104.1, 71.83, 0.31], "loss/angle": [1.429, 0.8403, 0.412], "loss/depth": [2.039, 0.4681, 0.77], "loss/score": [2.563, 0.7067, 0.724], "loss/width": [4.953, 0.8396, 0.83], "loss": [118.3, 76.21, 0.356]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.001, "mean": 0.848, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.115, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.815, -1.814, -1.814], [-1.815, -1.814, -1.814]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.521, "peak_gpu_mib": 11643.5, "seconds": 85.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/ghm-c@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "25dcb236d4d602d2", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=ghm-c -o loss__GraspNet-baseline__ghm-c@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__ghm-c@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [539, 755], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5781], "loss/view": [0.2001, 0.07678], "loss/score": [0.05519, 0.03464], "loss/angle": [1.916, 1.86], "loss/width": [0.6388, 0.1496], "loss/tolerance": [1.188, 0.4341], "loss": [4.76, 3.133]}, "trend": {"loss/objectness": [0.7623, 0.5719, 0.25], "loss/view": [0.2001, 0.07827, 0.609], "loss/score": [0.05519, 0.02729, 0.506], "loss/angle": [1.916, 1.761, 0.081], "loss/width": [0.6388, 0.1594, 0.75], "loss/tolerance": [1.188, 0.4744, 0.601], "loss": [4.76, 3.073, 0.354]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-16.07, -0.9704, 13.91], [-22.02, -0.7329, 17.07]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 3972.1, "seconds": 12.0}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/ghm-c@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=ghm-c"], "slot": "loss", "component": "GHMC", "variant": "ghm-c", "verdict": "runs", "judge": 2, "config_hash": "e805ab714a405898", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=ghm-c -o loss__Scale-Balanced-Grasp__ghm-c@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__ghm-c@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 4], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3159], "loss/view": [0.2608, 0.109], "loss/score": [0.05227, 0.02271], "loss/angle": [2.41, 1.553], "loss/width": [0.5501, 0.1816], "loss/tolerance": [0.9566, 0.2551], "loss": [4.989, 2.438]}, "trend": {"loss/objectness": [0.7596, 0.3087, 0.594], "loss/view": [0.2608, 0.1247, 0.522], "loss/score": [0.05227, 0.01872, 0.642], "loss/angle": [2.41, 1.951, 0.191], "loss/width": [0.5501, 0.2, 0.636], "loss/tolerance": [0.9566, 0.2758, 0.712], "loss": [4.989, 2.879, 0.423]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, [-1.917, -1.219, 0.2799]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.43, "peak_gpu_mib": 9615.8, "seconds": 15.8}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/ghm-r@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs", "judge": 2, "config_hash": "9fddcd738fb90efb", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=ghm-r -o loss__GSNet__ghm-r@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__ghm-r@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [188, 273], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6698], "loss/graspness": [5.176, 0.4646], "loss/view": [6.291, 0.1991], "loss/score": [0.596, 0.2113], "loss/width": [3.654, 0.3295], "loss": [16.51, 1.874]}, "trend": {"loss/objectness": [0.7893, 0.6352, 0.195], "loss/graspness": [5.176, 0.3586, 0.931], "loss/view": [6.291, 0.3364, 0.947], "loss/score": [0.596, 0.2173, 0.635], "loss/width": [3.654, 0.2713, 0.926], "loss": [16.51, 1.819, 0.89]}, "real_seeds": {"min": 0.493, "mean": 0.926, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1049, 0.1555, 0.2726], [0.1218, 0.1599, 0.3057]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.252, "peak_gpu_mib": 1841.5, "seconds": 36.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/ghm-r@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs", "judge": 2, "config_hash": "d99e0df6c1739686", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=ghm-r -o loss__GSNet__ghm-r@head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__ghm-r@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6259], "loss/graspness": [5.176, 0.4706], "loss/view": [6.291, 0.3422], "loss/score": [1.515, 0.1914], "loss/width": [1.951, 0.7865], "loss": [15.72, 2.417]}, "trend": {"loss/objectness": [0.7893, 0.6546, 0.171], "loss/graspness": [5.176, 0.4528, 0.913], "loss/view": [6.291, 0.3848, 0.939], "loss/score": [1.515, 0.1881, 0.876], "loss/width": [1.951, 0.863, 0.558], "loss": [15.72, 2.543, 0.838]}, "real_seeds": {"min": 0.962, "mean": 0.998, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1827, 0.3338, 0.5937], [0.1476, 0.3449, 0.5129]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.254, "peak_gpu_mib": 1841.5, "seconds": 33.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/ghm-r@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs", "judge": 2, "config_hash": "58ff6e2d447b7dbe", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=ghm-r -o loss__EconomicGrasp__ghm-r@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__ghm-r@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6628], "loss/graspness": [5.216, 0.3365], "loss/view": [3.293, 4.184], "loss/angle": [3.303, 0.5925], "loss/depth": [2.236, 0.3378], "loss/score": [2.117, 0.5308], "loss/width": [8.756, 0.6742], "loss": [25.7, 7.319]}, "trend": {"loss/objectness": [0.7845, 0.6331, 0.193], "loss/graspness": [5.216, 0.3264, 0.937], "loss/view": [3.293, 3.95, -0.2], "loss/angle": [3.303, 0.7144, 0.784], "loss/depth": [2.236, 0.4186, 0.813], "loss/score": [2.117, 0.622, 0.706], "loss/width": [8.756, 0.6946, 0.921], "loss": [25.7, 7.359, 0.714]}, "flags": {"loss/view": ["rising"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.134, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.381, -3.101, -2.783], [-3.405, -3.116, -2.801]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.219, "peak_gpu_mib": 2066.8, "seconds": 36.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/ghm-r@head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.width_loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs", "judge": 2, "config_hash": "cc61b6cb179ae2fa", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.width_loss=ghm-r -o loss__EconomicGrasp__ghm-r@head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__ghm-r@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6515], "loss/graspness": [5.216, 0.4735], "loss/view": [6.545, 0.6896], "loss/angle": [3.303, 0.7087], "loss/depth": [2.236, 0.4024], "loss/score": [2.117, 0.6232], "loss/width": [13.55, 0.5408], "loss": [33.75, 4.09]}, "trend": {"loss/objectness": [0.7845, 0.6506, 0.171], "loss/graspness": [5.216, 0.5444, 0.896], "loss/view": [6.545, 0.7343, 0.888], "loss/angle": [3.303, 0.6906, 0.791], "loss/depth": [2.236, 0.4115, 0.816], "loss/score": [2.117, 0.6142, 0.71], "loss/width": [13.55, 0.5674, 0.958], "loss": [33.75, 4.213, 0.875]}, "real_seeds": {"min": 0.864, "mean": 0.99, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.134, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.181, -2.92, -2.654], [-3.236, -2.947, -2.51]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.221, "peak_gpu_mib": 2066.2, "seconds": 36.3}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/ghm-r@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs", "judge": 2, "config_hash": "d3221763571d767e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=ghm-r -o loss__FineGrasp__ghm-r@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__ghm-r@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.648], "loss/graspness": [2.473, 0.2888], "loss/view": [3.034, 5.0], "loss/angle": [1.429, 0.8096], "loss/depth": [2.039, 0.421], "loss/score": [2.563, 0.6672], "loss/width": [4.953, 0.6794], "loss": [17.3, 8.513]}, "trend": {"loss/objectness": [0.8058, 0.6502, 0.193], "loss/graspness": [2.473, 0.2928, 0.882], "loss/view": [3.034, 4.973, -0.639], "loss/angle": [1.429, 0.7794, 0.455], "loss/depth": [2.039, 0.4271, 0.791], "loss/score": [2.563, 0.6724, 0.738], "loss/width": [4.953, 0.7221, 0.854], "loss": [17.3, 8.517, 0.508]}, "flags": {"loss/view": ["rising"]}, "real_seeds": {"min": 0.082, "mean": 0.861, "zero_iterations": 0}, "supervised_seeds": {"min": 0.023, "mean": 0.111, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.032, -2.032, -2.032], [-2.032, -2.032, -2.032]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.5, "peak_gpu_mib": 11642.7, "seconds": 84.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/ghm-r@head.width_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.width_loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs", "judge": 2, "config_hash": "477cfd14068ad166", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.width_loss=ghm-r -o loss__FineGrasp__ghm-r@head.width_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__ghm-r@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6245], "loss/graspness": [2.473, 0.3544], "loss/view": [5.497, 0.6085], "loss/angle": [1.429, 0.8204], "loss/depth": [2.039, 0.4421], "loss/score": [2.563, 0.7467], "loss/width": [4.711, 0.4861], "loss": [19.52, 4.083]}, "trend": {"loss/objectness": [0.8058, 0.6402, 0.205], "loss/graspness": [2.473, 0.3297, 0.867], "loss/view": [5.497, 0.6386, 0.884], "loss/angle": [1.429, 1.082, 0.243], "loss/depth": [2.039, 0.5882, 0.712], "loss/score": [2.563, 0.9252, 0.639], "loss/width": [4.711, 0.5495, 0.883], "loss": [19.52, 4.754, 0.756]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.002, "mean": 0.776, "zero_iterations": 0}, "supervised_seeds": {"min": 0.049, "mean": 0.169, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.741, -1.74, -1.74], [-1.741, -1.74, -1.74]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.493, "peak_gpu_mib": 11643.5, "seconds": 85.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/ghm-r@head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.tolerance_loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs", "judge": 2, "config_hash": "a11cb52ef6be86ef", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.tolerance_loss=ghm-r -o loss__GraspNet-baseline__ghm-r@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__ghm-r@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [577, 513], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5676], "loss/view": [0.2001, 0.07805], "loss/score": [0.05519, 0.03855], "loss/angle": [0.53, 0.4872], "loss/width": [0.6388, 0.1703], "loss/tolerance": [0.6463, 0.3595], "loss": [2.833, 1.701]}, "trend": {"loss/objectness": [0.7623, 0.5829, 0.235], "loss/view": [0.2001, 0.07881, 0.606], "loss/score": [0.05519, 0.03282, 0.405], "loss/angle": [0.53, 0.4689, 0.115], "loss/width": [0.6388, 0.1685, 0.736], "loss/tolerance": [0.6463, 0.3358, 0.481], "loss": [2.833, 1.668, 0.411]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-30.24, -1.934, 14.92], [-24.73, -1.818, 28.61]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 3972.1, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/ghm-r@head.tolerance_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.tolerance_loss=ghm-r"], "slot": "loss", "component": "GHMR", "variant": "ghm-r", "verdict": "runs-empty", "judge": 2, "config_hash": "b72312c5aa2d3d40", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.tolerance_loss=ghm-r -o loss__Scale-Balanced-Grasp__ghm-r@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__ghm-r@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3185], "loss/view": [0.2608, 0.111], "loss/score": [0.05227, 0.02552], "loss/angle": [0.4856, 0.4241], "loss/width": [0.5501, 0.1296], "loss/tolerance": [0.5282, 0.2034], "loss": [2.637, 1.212]}, "trend": {"loss/objectness": [0.7596, 0.314, 0.587], "loss/view": [0.2608, 0.1277, 0.51], "loss/score": [0.05227, 0.02215, 0.576], "loss/angle": [0.4856, 0.4171, 0.141], "loss/width": [0.5501, 0.1697, 0.692], "loss/tolerance": [0.5282, 0.3084, 0.416], "loss": [2.637, 1.359, 0.485]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.432, "peak_gpu_mib": 9615.8, "seconds": 16.2}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/huber@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs", "judge": 2, "config_hash": "0aab1869c7584c7a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=huber -o loss__GSNet__huber@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__huber@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [246, 298], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6397], "loss/graspness": [5.176, 0.4785], "loss/view": [6.291, 0.3077], "loss/score": [1.515, 0.08037], "loss/width": [3.654, 0.3709], "loss": [17.43, 1.877]}, "trend": {"loss/objectness": [0.7893, 0.6216, 0.212], "loss/graspness": [5.176, 0.3789, 0.927], "loss/view": [6.291, 0.3453, 0.945], "loss/score": [1.515, 0.08616, 0.943], "loss/width": [3.654, 0.2816, 0.923], "loss": [17.43, 1.714, 0.902]}, "real_seeds": {"min": 0.454, "mean": 0.927, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1137, 0.1592, 0.2225], [0.1055, 0.1615, 0.3031]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.22, "peak_gpu_mib": 1841.5, "seconds": 35.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/huber@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs", "judge": 2, "config_hash": "1003ea6a25848ce7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=huber -o loss__GSNet__huber@head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__huber@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [237, 286], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6111], "loss/graspness": [5.176, 0.4309], "loss/view": [6.291, 0.5485], "loss/score": [1.515, 0.09126], "loss/width": [3.654, 0.5606], "loss": [17.43, 2.242]}, "trend": {"loss/objectness": [0.7893, 0.6144, 0.222], "loss/graspness": [5.176, 0.365, 0.929], "loss/view": [6.291, 0.4081, 0.935], "loss/score": [1.515, 0.09299, 0.939], "loss/width": [3.654, 0.3054, 0.916], "loss": [17.43, 1.786, 0.898]}, "real_seeds": {"min": 0.417, "mean": 0.917, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09625, 0.1618, 0.2433], [0.106, 0.1675, 0.279]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.199, "peak_gpu_mib": 1841.5, "seconds": 32.7}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/huber@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs", "judge": 2, "config_hash": "27c887bfb49d431b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=huber -o loss__EconomicGrasp__huber@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__huber@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6433], "loss/graspness": [5.216, 0.2815], "loss/view": [6.545, 0.6771], "loss/angle": [3.303, 0.7449], "loss/depth": [2.236, 0.3733], "loss/score": [2.117, 0.6103], "loss/width": [8.756, 0.6513], "loss": [28.96, 3.982]}, "trend": {"loss/objectness": [0.7845, 0.6286, 0.199], "loss/graspness": [5.216, 0.3293, 0.937], "loss/view": [6.545, 0.711, 0.891], "loss/angle": [3.303, 0.7653, 0.768], "loss/depth": [2.236, 0.4252, 0.81], "loss/score": [2.117, 0.6566, 0.69], "loss/width": [8.756, 0.6978, 0.92], "loss": [28.96, 4.214, 0.854]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.294, -2.986, -2.778], [-3.266, -3.038, -2.775]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.166, "peak_gpu_mib": 2066.2, "seconds": 35.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/huber@head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.width_loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs", "judge": 2, "config_hash": "70e9f8c0099c5b1d", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.width_loss=huber -o loss__EconomicGrasp__huber@head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__huber@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6309], "loss/graspness": [5.216, 0.287], "loss/view": [6.545, 0.6788], "loss/angle": [3.303, 0.7157], "loss/depth": [2.236, 0.4242], "loss/score": [2.117, 0.6019], "loss/width": [8.756, 0.6936], "loss": [28.96, 4.032]}, "trend": {"loss/objectness": [0.7845, 0.6206, 0.209], "loss/graspness": [5.216, 0.3442, 0.934], "loss/view": [6.545, 0.7033, 0.893], "loss/angle": [3.303, 0.7455, 0.774], "loss/depth": [2.236, 0.4178, 0.813], "loss/score": [2.117, 0.6391, 0.698], "loss/width": [8.756, 0.6935, 0.921], "loss": [28.96, 4.164, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.598, -3.321, -2.721], [-3.572, -3.316, -2.514]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.171, "peak_gpu_mib": 2066.2, "seconds": 34.7}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/huber@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs", "judge": 2, "config_hash": "83348bc66a2d44d5", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=huber -o loss__FineGrasp__huber@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__huber@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6175], "loss/graspness": [2.473, 0.2656], "loss/view": [5.497, 0.6151], "loss/angle": [1.429, 1.007], "loss/depth": [2.039, 0.5403], "loss/score": [2.563, 0.8765], "loss/width": [4.953, 0.7609], "loss": [19.76, 4.683]}, "trend": {"loss/objectness": [0.8058, 0.6263, 0.223], "loss/graspness": [2.473, 0.276, 0.888], "loss/view": [5.497, 0.6056, 0.89], "loss/angle": [1.429, 0.9948, 0.304], "loss/depth": [2.039, 0.5386, 0.736], "loss/score": [2.563, 0.8398, 0.672], "loss/width": [4.953, 0.8118, 0.836], "loss": [19.76, 4.693, 0.763]}, "real_seeds": {"min": 0.631, "mean": 0.958, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.766, -1.766, -1.766], [-1.766, -1.766, -1.766]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.82, "peak_gpu_mib": 11643.5, "seconds": 96.6}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/huber@head.width_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.width_loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs", "judge": 2, "config_hash": "91e3ddfb1de989c7", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.width_loss=huber -o loss__FineGrasp__huber@head.width_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__huber@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6191], "loss/graspness": [2.473, 0.2621], "loss/view": [5.497, 0.6214], "loss/angle": [1.429, 1.032], "loss/depth": [2.039, 0.5471], "loss/score": [2.563, 0.8791], "loss/width": [4.953, 0.7271], "loss": [19.76, 4.688]}, "trend": {"loss/objectness": [0.8058, 0.6263, 0.223], "loss/graspness": [2.473, 0.2719, 0.89], "loss/view": [5.497, 0.6086, 0.889], "loss/angle": [1.429, 1.004, 0.297], "loss/depth": [2.039, 0.5326, 0.739], "loss/score": [2.563, 0.8494, 0.669], "loss/width": [4.953, 0.7938, 0.84], "loss": [19.76, 4.687, 0.763]}, "real_seeds": {"min": 0.625, "mean": 0.96, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.716, -1.716, -1.715], [-1.716, -1.716, -1.715]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.798, "peak_gpu_mib": 11643.5, "seconds": 96.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/huber@head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.tolerance_loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs", "judge": 2, "config_hash": "acdb88c0b189edde", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.tolerance_loss=huber -o loss__GraspNet-baseline__huber@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__huber@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [353, 484], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5659], "loss/view": [0.2001, 0.07603], "loss/score": [0.05519, 0.02661], "loss/angle": [0.53, 0.4509], "loss/width": [0.6388, 0.1792], "loss/tolerance": [1.188, 0.5192], "loss": [3.374, 1.818]}, "trend": {"loss/objectness": [0.7623, 0.6058, 0.205], "loss/view": [0.2001, 0.07948, 0.603], "loss/score": [0.05519, 0.03554, 0.356], "loss/angle": [0.53, 0.4551, 0.141], "loss/width": [0.6388, 0.1659, 0.74], "loss/tolerance": [1.188, 0.4747, 0.6], "loss": [3.374, 1.817, 0.462]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-13.45, -0.2816, 36.79], [-24.22, -1.204, 28.04]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.267, "peak_gpu_mib": 3972.1, "seconds": 12.8}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/huber@head.tolerance_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.tolerance_loss=huber"], "slot": "loss", "component": "Huber", "variant": "huber", "verdict": "runs-empty", "judge": 2, "config_hash": "d4c07e1e7103ef72", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.tolerance_loss=huber -o loss__Scale-Balanced-Grasp__huber@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__huber@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.361, "peak_gpu_mib": 9615.8, "seconds": 15.3}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/label-smoothing@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=label-smoothing"], "slot": "loss", "component": "LabelSmoothingCrossEntropy", "variant": "label-smoothing", "verdict": "runs", "judge": 2, "config_hash": "7f7a30ffc6e5eac2", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=label-smoothing -o loss__GSNet__label-smoothing@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__label-smoothing@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [265, 289], "frames": 8, "losses": {"loss/objectness": [0.8006, 0.6422], "loss/graspness": [5.176, 0.4275], "loss/view": [6.291, 0.309], "loss/score": [1.515, 0.07186], "loss/width": [3.654, 0.4224], "loss": [17.44, 1.873]}, "trend": {"loss/objectness": [0.8006, 0.6363, 0.205], "loss/graspness": [5.176, 0.3787, 0.927], "loss/view": [6.291, 0.4523, 0.928], "loss/score": [1.515, 0.08395, 0.945], "loss/width": [3.654, 0.2653, 0.927], "loss": [17.44, 1.816, 0.896]}, "real_seeds": {"min": 0.255, "mean": 0.895, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1264, 0.1773, 0.2784], [0.1306, 0.1905, 0.2789]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.236, "peak_gpu_mib": 1841.5, "seconds": 36.3}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/label-smoothing@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=label-smoothing"], "slot": "loss", "component": "LabelSmoothingCrossEntropy", "variant": "label-smoothing", "verdict": "runs", "judge": 2, "config_hash": "6239df1367c77196", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=label-smoothing -o loss__EconomicGrasp__label-smoothing@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__label-smoothing@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6267], "loss/graspness": [5.216, 0.287], "loss/view": [6.545, 0.685], "loss/angle": [3.303, 0.7069], "loss/depth": [2.236, 0.3726], "loss/score": [2.103, 0.8251], "loss/width": [8.756, 0.637], "loss": [28.94, 4.14]}, "trend": {"loss/objectness": [0.7845, 0.6231, 0.206], "loss/graspness": [5.216, 0.3412, 0.935], "loss/view": [6.545, 0.7115, 0.891], "loss/angle": [3.303, 0.7417, 0.775], "loss/depth": [2.236, 0.4203, 0.812], "loss/score": [2.103, 0.8514, 0.595], "loss/width": [8.756, 0.707, 0.919], "loss": [28.94, 4.396, 0.848]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.529, -2.284, -1.808], [-2.608, -2.307, -2.023]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.258, "peak_gpu_mib": 2066.2, "seconds": 35.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/label-smoothing@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=label-smoothing"], "slot": "loss", "component": "LabelSmoothingCrossEntropy", "variant": "label-smoothing", "verdict": "runs", "judge": 2, "config_hash": "f2dfebecd5258896", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=label-smoothing -o loss__FineGrasp__label-smoothing@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__label-smoothing@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6196], "loss/graspness": [2.473, 0.265], "loss/view": [5.497, 0.6104], "loss/angle": [1.429, 1.006], "loss/depth": [2.039, 0.5376], "loss/score": [2.5, 1.034], "loss/width": [4.953, 0.8116], "loss": [19.7, 4.884]}, "trend": {"loss/objectness": [0.8058, 0.6278, 0.221], "loss/graspness": [2.473, 0.2748, 0.889], "loss/view": [5.497, 0.6058, 0.89], "loss/angle": [1.429, 0.9803, 0.314], "loss/depth": [2.039, 0.5158, 0.747], "loss/score": [2.5, 1.019, 0.592], "loss/width": [4.953, 0.8484, 0.829], "loss": [19.7, 4.872, 0.753]}, "real_seeds": {"min": 0.772, "mean": 0.968, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.8514, -0.8513, -0.8512], [-0.8514, -0.8513, -0.8512]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.04, "peak_gpu_mib": 11643.5, "seconds": 82.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/label-smoothing@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=label-smoothing"], "slot": "loss", "component": "LabelSmoothingCrossEntropy", "variant": "label-smoothing", "verdict": "runs", "judge": 2, "config_hash": "8e288d7743b38d61", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=label-smoothing -o loss__GraspNet-baseline__label-smoothing@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__label-smoothing@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [690, 758], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5786], "loss/view": [0.2001, 0.07798], "loss/score": [0.05519, 0.04081], "loss/angle": [0.5284, 0.478], "loss/width": [0.6388, 0.1532], "loss/tolerance": [1.188, 0.4855], "loss": [3.373, 1.814]}, "trend": {"loss/objectness": [0.7623, 0.5975, 0.216], "loss/view": [0.2001, 0.07895, 0.605], "loss/score": [0.05519, 0.03687, 0.332], "loss/angle": [0.5284, 0.4685, 0.113], "loss/width": [0.6388, 0.1651, 0.742], "loss/tolerance": [1.188, 0.4719, 0.603], "loss": [3.373, 1.819, 0.461]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-46.36, 0.2577, 21.73], [-18.26, 0.08528, 28.92]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.213, "peak_gpu_mib": 3972.1, "seconds": 12.1}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/label-smoothing@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=label-smoothing"], "slot": "loss", "component": "LabelSmoothingCrossEntropy", "variant": "label-smoothing", "verdict": "runs", "judge": 2, "config_hash": "7279510095f062de", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=label-smoothing -o loss__Scale-Balanced-Grasp__label-smoothing@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__label-smoothing@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 4], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3217], "loss/view": [0.2608, 0.1123], "loss/score": [0.05227, 0.024], "loss/angle": [0.4883, 0.444], "loss/width": [0.5501, 0.1486], "loss/tolerance": [0.9566, 0.2565], "loss": [3.068, 1.307]}, "trend": {"loss/objectness": [0.7596, 0.3112, 0.59], "loss/view": [0.2608, 0.1269, 0.513], "loss/score": [0.05227, 0.02031, 0.611], "loss/angle": [0.4883, 0.4332, 0.113], "loss/width": [0.5501, 0.1722, 0.687], "loss/tolerance": [0.9566, 0.2978, 0.689], "loss": [3.068, 1.362, 0.556]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, [-3.657, 0.6699, 3.134]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.458, "peak_gpu_mib": 9615.8, "seconds": 17.0}, "run": "2026-10-15@96facee"},
  {"id": "loss/EconomicGrasp/lovasz-softmax@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=lovasz-softmax"], "slot": "loss", "component": "LovaszSoftmaxLoss", "variant": "lovasz-softmax", "verdict": "runs", "judge": 2, "config_hash": "556434c692375fbc", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=lovasz-softmax -o loss__EconomicGrasp__lovasz-softmax@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__lovasz-softmax@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6308], "loss/graspness": [5.216, 0.2859], "loss/view": [6.545, 0.6858], "loss/angle": [3.303, 0.7673], "loss/depth": [2.236, 0.4106], "loss/score": [0.3118, 0.2307], "loss/width": [8.756, 0.7183], "loss": [27.15, 3.729]}, "trend": {"loss/objectness": [0.7845, 0.6237, 0.205], "loss/graspness": [5.216, 0.3268, 0.937], "loss/view": [6.545, 0.7189, 0.89], "loss/angle": [3.303, 0.718, 0.783], "loss/depth": [2.236, 0.3987, 0.822], "loss/score": [0.3118, 0.2314, 0.258], "loss/width": [8.756, 0.7484, 0.915], "loss": [27.15, 3.766, 0.861]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.398, -3.075, -2.715], [-3.536, -3.09, -2.43]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.181, "peak_gpu_mib": 2066.2, "seconds": 32.0}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/lovasz-softmax@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=lovasz-softmax"], "slot": "loss", "component": "LovaszSoftmaxLoss", "variant": "lovasz-softmax", "verdict": "runs", "judge": 2, "config_hash": "08f4f20bf3ab2883", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=lovasz-softmax -o loss__FineGrasp__lovasz-softmax@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__lovasz-softmax@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6128], "loss/graspness": [2.473, 0.2631], "loss/view": [5.497, 0.634], "loss/angle": [1.429, 0.9939], "loss/depth": [2.039, 0.5379], "loss/score": [0.3513, 0.2248], "loss/width": [4.953, 0.7923], "loss": [17.55, 4.059]}, "trend": {"loss/objectness": [0.8058, 0.6212, 0.229], "loss/graspness": [2.473, 0.2696, 0.891], "loss/view": [5.497, 0.6098, 0.889], "loss/angle": [1.429, 1.008, 0.295], "loss/depth": [2.039, 0.5387, 0.736], "loss/score": [0.3513, 0.2249, 0.36], "loss/width": [4.953, 0.8242, 0.834], "loss": [17.55, 4.096, 0.767]}, "real_seeds": {"min": 0.857, "mean": 0.985, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.116, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.683, -1.682, -1.682], [-1.683, -1.682, -1.682]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.028, "peak_gpu_mib": 11643.5, "seconds": 85.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/lovasz-softmax@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=lovasz-softmax"], "slot": "loss", "component": "LovaszSoftmaxLoss", "variant": "lovasz-softmax", "verdict": "runs", "judge": 2, "config_hash": "1fb749e64c537a16", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=lovasz-softmax -o loss__GraspNet-baseline__lovasz-softmax@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__lovasz-softmax@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [630, 663], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5525], "loss/view": [0.2001, 0.07793], "loss/score": [0.05519, 0.03477], "loss/angle": [0.01588, 0.01478], "loss/width": [0.6388, 0.2183], "loss/tolerance": [1.188, 0.507], "loss": [2.86, 1.405]}, "trend": {"loss/objectness": [0.7623, 0.5816, 0.237], "loss/view": [0.2001, 0.08007, 0.6], "loss/score": [0.05519, 0.03305, 0.401], "loss/angle": [0.01588, 0.01558, 0.019], "loss/width": [0.6388, 0.1913, 0.7], "loss/tolerance": [1.188, 0.5502, 0.537], "loss": [2.86, 1.452, 0.492]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-15.37, -0.1259, 39.87], [-10.49, 0.1482, 13.57]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.306, "peak_gpu_mib": 3972.1, "seconds": 14.0}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/lovasz-softmax@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=lovasz-softmax"], "slot": "loss", "component": "LovaszSoftmaxLoss", "variant": "lovasz-softmax", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=lovasz-softmax -o loss__Scale-Balanced-Grasp__lovasz-softmax@head.angle_loss.yaml", "refusal": ["ScaleBalancedAssigner returns a loss weight per seed and OperationHead passes it to angle_loss, but LovaszSoftmaxLoss scores the supervised set as a whole and cannot weight single elements. Losses for a `class` term that apply weights: ClassBalanced, CrossEntropy, FocalLoss, GHMC, LabelSmoothingCrossEntropy, Poly1CrossEntropy, SoftmaxFocalLoss, TopK, UncertaintyWeighted."], "refusal_kinds": ["structural"], "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/ohem-smooth-l1@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs", "judge": 2, "config_hash": "5c736a5c1132ac28", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=ohem-smooth-l1 -o loss__GSNet__ohem-smooth-l1@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__ohem-smooth-l1@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.551], "loss/graspness": [5.176, 0.3554], "loss/view": [6.291, 0.4999], "loss/score": [4.823, 0.196], "loss/width": [3.654, 0.1616], "loss": [20.73, 1.764]}, "trend": {"loss/objectness": [0.7893, 0.5736, 0.273], "loss/graspness": [5.176, 0.4174, 0.919], "loss/view": [6.291, 0.4564, 0.927], "loss/score": [4.823, 0.2115, 0.956], "loss/width": [3.654, 0.206, 0.944], "loss": [20.73, 1.865, 0.91]}, "real_seeds": {"min": 0.594, "mean": 0.932, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1038, 0.1554, 0.2713], [0.1072, 0.1541, 0.2395]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.25, "peak_gpu_mib": 1841.5, "seconds": 32.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/ohem-smooth-l1@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs", "judge": 2, "config_hash": "10ce01b60a5d803d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=ohem-smooth-l1 -o loss__GSNet__ohem-smooth-l1@head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__ohem-smooth-l1@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6388], "loss/graspness": [5.176, 0.3304], "loss/view": [6.291, 0.3436], "loss/score": [1.515, 0.112], "loss/width": [9.42, 0.8504], "loss": [23.19, 2.275]}, "trend": {"loss/objectness": [0.7893, 0.6468, 0.181], "loss/graspness": [5.176, 0.5377, 0.896], "loss/view": [6.291, 0.4249, 0.932], "loss/score": [1.515, 0.114, 0.925], "loss/width": [9.42, 0.7109, 0.925], "loss": [23.19, 2.434, 0.895]}, "real_seeds": {"min": 0.451, "mean": 0.952, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1231, 0.2297, 0.3739], [0.1446, 0.2399, 0.4199]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.185, "peak_gpu_mib": 1841.5, "seconds": 29.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/ohem-smooth-l1@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs", "judge": 2, "config_hash": "7fd67698ef0ee323", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=ohem-smooth-l1 -o loss__EconomicGrasp__ohem-smooth-l1@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__ohem-smooth-l1@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6301], "loss/graspness": [5.216, 0.2472], "loss/view": [20.64, 2.84], "loss/angle": [3.303, 0.7496], "loss/depth": [2.236, 0.4125], "loss/score": [2.117, 0.6776], "loss/width": [8.756, 0.7029], "loss": [43.05, 6.26]}, "trend": {"loss/objectness": [0.7845, 0.639, 0.185], "loss/graspness": [5.216, 0.3259, 0.938], "loss/view": [20.64, 2.7, 0.869], "loss/angle": [3.303, 0.7658, 0.768], "loss/depth": [2.236, 0.4217, 0.811], "loss/score": [2.117, 0.6551, 0.691], "loss/width": [8.756, 0.6795, 0.922], "loss": [43.05, 6.187, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.126, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.511, -3.216, -2.907], [-3.567, -3.25, -2.939]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.223, "peak_gpu_mib": 2066.2, "seconds": 35.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/ohem-smooth-l1@head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.width_loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs", "judge": 2, "config_hash": "27eb76a002e821f7", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.width_loss=ohem-smooth-l1 -o loss__EconomicGrasp__ohem-smooth-l1@head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__ohem-smooth-l1@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6507], "loss/graspness": [5.216, 0.3828], "loss/view": [6.545, 0.6809], "loss/angle": [3.303, 0.6591], "loss/depth": [2.236, 0.3459], "loss/score": [2.117, 0.5886], "loss/width": [14.64, 1.549], "loss": [34.84, 4.857]}, "trend": {"loss/objectness": [0.7845, 0.6537, 0.167], "loss/graspness": [5.216, 0.3886, 0.925], "loss/view": [6.545, 0.706, 0.892], "loss/angle": [3.303, 0.7115, 0.785], "loss/depth": [2.236, 0.4024, 0.82], "loss/score": [2.117, 0.6254, 0.705], "loss/width": [14.64, 1.585, 0.892], "loss": [34.84, 5.073, 0.854]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.132, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.761, -3.405, -2.272], [-3.721, -3.41, -2.483]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.162, "peak_gpu_mib": 2066.2, "seconds": 30.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/ohem-smooth-l1@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs", "judge": 2, "config_hash": "d01b35ba9921e80e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=ohem-smooth-l1 -o loss__FineGrasp__ohem-smooth-l1@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__ohem-smooth-l1@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6177], "loss/graspness": [2.473, 0.2692], "loss/view": [17.68, 2.505], "loss/angle": [1.429, 0.9765], "loss/depth": [2.039, 0.5427], "loss/score": [2.563, 0.8341], "loss/width": [4.953, 0.8595], "loss": [31.94, 6.605]}, "trend": {"loss/objectness": [0.8058, 0.6309, 0.217], "loss/graspness": [2.473, 0.2938, 0.881], "loss/view": [17.68, 2.536, 0.857], "loss/angle": [1.429, 0.8979, 0.372], "loss/depth": [2.039, 0.4798, 0.765], "loss/score": [2.563, 0.7727, 0.698], "loss/width": [4.953, 0.8133, 0.836], "loss": [31.94, 6.424, 0.799]}, "real_seeds": {"min": 0.011, "mean": 0.865, "zero_iterations": 0}, "supervised_seeds": {"min": 0.049, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.977, -1.977, -1.977], [-1.978, -1.977, -1.977]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.674, "peak_gpu_mib": 11643.5, "seconds": 86.3}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/ohem-smooth-l1@head.width_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.width_loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs", "judge": 2, "config_hash": "61c66d4c9524ca16", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.width_loss=ohem-smooth-l1 -o loss__FineGrasp__ohem-smooth-l1@head.width_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__ohem-smooth-l1@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6402], "loss/graspness": [2.473, 0.2807], "loss/view": [5.497, 0.6084], "loss/angle": [1.429, 0.9829], "loss/depth": [2.039, 0.5452], "loss/score": [2.563, 0.8315], "loss/width": [10.92, 1.704], "loss": [25.73, 5.593]}, "trend": {"loss/objectness": [0.8058, 0.6442, 0.2], "loss/graspness": [2.473, 0.2913, 0.882], "loss/view": [5.497, 0.6233, 0.887], "loss/angle": [1.429, 0.976, 0.317], "loss/depth": [2.039, 0.5171, 0.746], "loss/score": [2.563, 0.8168, 0.681], "loss/width": [10.92, 1.673, 0.847], "loss": [25.73, 5.542, 0.785]}, "real_seeds": {"min": 0.039, "mean": 0.929, "zero_iterations": 0}, "supervised_seeds": {"min": 0.013, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.935, -1.935, -1.935], [-1.935, -1.935, -1.935]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.636, "peak_gpu_mib": 11643.5, "seconds": 84.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/ohem-smooth-l1@head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.tolerance_loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs", "judge": 2, "config_hash": "2716895960dbacd5", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.tolerance_loss=ohem-smooth-l1 -o loss__GraspNet-baseline__ohem-smooth-l1@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__ohem-smooth-l1@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [293, 699], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.566], "loss/view": [0.2001, 0.07846], "loss/score": [0.05519, 0.0465], "loss/angle": [0.53, 0.4762], "loss/width": [0.6388, 0.1609], "loss/tolerance": [2.826, 1.029], "loss": [5.013, 2.357]}, "trend": {"loss/objectness": [0.7623, 0.5938, 0.221], "loss/view": [0.2001, 0.08117, 0.594], "loss/score": [0.05519, 0.0289, 0.476], "loss/angle": [0.53, 0.4661, 0.12], "loss/width": [0.6388, 0.1568, 0.755], "loss/tolerance": [2.826, 1.077, 0.619], "loss": [5.013, 2.404, 0.52]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-30.08, -1.829, 17.61], [-32.42, -0.6829, 24.67]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.292, "peak_gpu_mib": 3972.1, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/ohem-smooth-l1@head.tolerance_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.tolerance_loss=ohem-smooth-l1"], "slot": "loss", "component": "TopK", "variant": "ohem-smooth-l1", "verdict": "runs-empty", "judge": 2, "config_hash": "a7e2dbd82ae85900", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.tolerance_loss=ohem-smooth-l1 -o loss__Scale-Balanced-Grasp__ohem-smooth-l1@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__ohem-smooth-l1@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.314], "loss/view": [0.2608, 0.112], "loss/score": [0.05227, 0.02065], "loss/angle": [0.4856, 0.4464], "loss/width": [0.5501, 0.1704], "loss/tolerance": [2.216, 0.6946], "loss": [4.324, 1.758]}, "trend": {"loss/objectness": [0.7596, 0.3093, 0.593], "loss/view": [0.2608, 0.1245, 0.522], "loss/score": [0.05227, 0.02139, 0.591], "loss/angle": [0.4856, 0.4247, 0.125], "loss/width": [0.5501, 0.1714, 0.688], "loss/tolerance": [2.216, 0.6777, 0.694], "loss": [4.324, 1.729, 0.6]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.464, "peak_gpu_mib": 9615.8, "seconds": 16.9}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/ohem@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=ohem"], "slot": "loss", "component": "TopK", "variant": "ohem", "verdict": "runs", "judge": 2, "config_hash": "146d5b68ea9fa52f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=ohem -o loss__GSNet__ohem@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__ohem@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [103, 352], "frames": 8, "losses": {"loss/objectness": [1.71, 0.8225], "loss/graspness": [5.176, 0.3803], "loss/view": [6.291, 0.9918], "loss/score": [1.515, 0.1168], "loss/width": [3.654, 0.2066], "loss": [18.35, 2.518]}, "trend": {"loss/objectness": [1.71, 0.8124, 0.525], "loss/graspness": [5.176, 0.3398, 0.934], "loss/view": [6.291, 0.4663, 0.926], "loss/score": [1.515, 0.1168, 0.923], "loss/width": [3.654, 0.2704, 0.926], "loss": [18.35, 2.006, 0.891]}, "real_seeds": {"min": 0.527, "mean": 0.941, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1106, 0.1982, 0.268], [0.1167, 0.2467, 0.4658]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.229, "peak_gpu_mib": 1841.6, "seconds": 32.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/ohem@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=ohem"], "slot": "loss", "component": "TopK", "variant": "ohem", "verdict": "runs", "judge": 2, "config_hash": "d08a9446a382b7fb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=ohem -o loss__EconomicGrasp__ohem@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__ohem@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6258], "loss/graspness": [5.216, 0.2828], "loss/view": [6.545, 0.6789], "loss/angle": [3.303, 0.7924], "loss/depth": [2.236, 0.3974], "loss/score": [2.361, 1.689], "loss/width": [8.756, 0.7423], "loss": [29.2, 5.209]}, "trend": {"loss/objectness": [0.7845, 0.6163, 0.214], "loss/graspness": [5.216, 0.3306, 0.937], "loss/view": [6.545, 0.7069, 0.892], "loss/angle": [3.303, 0.7693, 0.767], "loss/depth": [2.236, 0.4072, 0.818], "loss/score": [2.361, 1.604, 0.32], "loss/width": [8.756, 0.7236, 0.917], "loss": [29.2, 5.158, 0.823]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.001, -1.725, -1.266], [-2.024, -1.728, -1.388]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.268, "peak_gpu_mib": 2066.2, "seconds": 32.3}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/ohem@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=ohem"], "slot": "loss", "component": "TopK", "variant": "ohem", "verdict": "runs", "judge": 2, "config_hash": "2e84b6a9f6d496b6", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=ohem -o loss__FineGrasp__ohem@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__ohem@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6201], "loss/graspness": [2.473, 0.2617], "loss/view": [5.497, 0.6125], "loss/angle": [1.429, 1.063], "loss/depth": [2.039, 0.6126], "loss/score": [2.941, 1.767], "loss/width": [4.953, 0.7423], "loss": [20.14, 5.679]}, "trend": {"loss/objectness": [0.8058, 0.6273, 0.221], "loss/graspness": [2.473, 0.2716, 0.89], "loss/view": [5.497, 0.6059, 0.89], "loss/angle": [1.429, 1.019, 0.287], "loss/depth": [2.039, 0.5388, 0.736], "loss/score": [2.941, 1.739, 0.409], "loss/width": [4.953, 0.7768, 0.843], "loss": [20.14, 5.579, 0.723]}, "real_seeds": {"min": 0.851, "mean": 0.974, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.114, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.2417, 0.2418, 0.242], [0.2417, 0.2418, 0.242]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.759, "peak_gpu_mib": 11643.5, "seconds": 79.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/ohem@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=ohem"], "slot": "loss", "component": "TopK", "variant": "ohem", "verdict": "runs", "judge": 2, "config_hash": "8fb2c1f93063bc1d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=ohem -o loss__GraspNet-baseline__ohem@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__ohem@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [662, 332], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5669], "loss/view": [0.2001, 0.07574], "loss/score": [0.05519, 0.03882], "loss/angle": [0.6438, 0.5354], "loss/width": [0.6388, 0.1489], "loss/tolerance": [1.188, 0.4939], "loss": [3.488, 1.86]}, "trend": {"loss/objectness": [0.7623, 0.5671, 0.256], "loss/view": [0.2001, 0.07907, 0.605], "loss/score": [0.05519, 0.0316, 0.427], "loss/angle": [0.6438, 0.5302, 0.177], "loss/width": [0.6388, 0.1668, 0.739], "loss/tolerance": [1.188, 0.5644, 0.525], "loss": [3.488, 1.939, 0.444]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-29.91, -0.4696, 45.47], [-22.63, -0.3046, 16.27]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.257, "peak_gpu_mib": 3972.1, "seconds": 12.4}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/ohem@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=ohem"], "slot": "loss", "component": "TopK", "variant": "ohem", "verdict": "runs-empty", "judge": 2, "config_hash": "b45d4c8f9a654897", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=ohem -o loss__Scale-Balanced-Grasp__ohem@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__ohem@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3291], "loss/view": [0.2608, 0.11], "loss/score": [0.05227, 0.0295], "loss/angle": [0.5784, 0.5193], "loss/width": [0.5501, 0.1425], "loss/tolerance": [0.9566, 0.2049], "loss": [3.158, 1.335]}, "trend": {"loss/objectness": [0.7596, 0.3129, 0.588], "loss/view": [0.2608, 0.1238, 0.525], "loss/score": [0.05227, 0.02272, 0.565], "loss/angle": [0.5784, 0.5268, 0.089], "loss/width": [0.5501, 0.1602, 0.709], "loss/tolerance": [0.9566, 0.242, 0.747], "loss": [3.158, 1.388, 0.56]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.446, "peak_gpu_mib": 9615.8, "seconds": 16.9}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/poly1@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=poly1"], "slot": "loss", "component": "Poly1CrossEntropy", "variant": "poly1", "verdict": "runs", "judge": 2, "config_hash": "a452c015239e1704", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=poly1 -o loss__GSNet__poly1@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__poly1@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [395, 467], "frames": 8, "losses": {"loss/objectness": [1.253, 0.9003], "loss/graspness": [5.176, 0.4051], "loss/view": [6.291, 0.1925], "loss/score": [1.515, 0.08385], "loss/width": [3.654, 0.5617], "loss": [17.89, 2.143]}, "trend": {"loss/objectness": [1.253, 0.9682, 0.227], "loss/graspness": [5.176, 0.3697, 0.929], "loss/view": [6.291, 0.3095, 0.951], "loss/score": [1.515, 0.09766, 0.936], "loss/width": [3.654, 0.2982, 0.918], "loss": [17.89, 2.043, 0.886]}, "real_seeds": {"min": 0.277, "mean": 0.913, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.0994, 0.152, 0.2627], [0.09553, 0.1763, 0.2653]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 1841.9, "seconds": 30.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/poly1@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=poly1"], "slot": "loss", "component": "Poly1CrossEntropy", "variant": "poly1", "verdict": "runs", "judge": 2, "config_hash": "bc40858b5fd86fe8", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=poly1 -o loss__EconomicGrasp__poly1@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__poly1@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6205], "loss/graspness": [5.216, 0.2839], "loss/view": [6.545, 0.6903], "loss/angle": [3.303, 0.7548], "loss/depth": [2.236, 0.3153], "loss/score": [2.988, 0.8246], "loss/width": [8.756, 0.656], "loss": [29.83, 4.145]}, "trend": {"loss/objectness": [0.7845, 0.6124, 0.219], "loss/graspness": [5.216, 0.3356, 0.936], "loss/view": [6.545, 0.7134, 0.891], "loss/angle": [3.303, 0.7139, 0.784], "loss/depth": [2.236, 0.3957, 0.823], "loss/score": [2.988, 0.8429, 0.718], "loss/width": [8.756, 0.6794, 0.922], "loss": [29.83, 4.293, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-4.13, -3.856, -3.598], [-4.098, -3.87, -3.595]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.273, "peak_gpu_mib": 2066.2, "seconds": 30.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/poly1@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=poly1"], "slot": "loss", "component": "Poly1CrossEntropy", "variant": "poly1", "verdict": "runs", "judge": 2, "config_hash": "7573b2d0deff1705", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=poly1 -o loss__FineGrasp__poly1@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__poly1@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6188], "loss/graspness": [2.473, 0.2656], "loss/view": [5.497, 0.6297], "loss/angle": [1.429, 1.064], "loss/depth": [2.039, 0.5917], "loss/score": [3.478, 1.269], "loss/width": [4.953, 0.7687], "loss": [20.68, 5.208]}, "trend": {"loss/objectness": [0.8058, 0.6267, 0.222], "loss/graspness": [2.473, 0.2746, 0.889], "loss/view": [5.497, 0.61, 0.889], "loss/angle": [1.429, 1.042, 0.271], "loss/depth": [2.039, 0.532, 0.739], "loss/score": [3.478, 1.202, 0.654], "loss/width": [4.953, 0.7779, 0.843], "loss": [20.68, 5.065, 0.755]}, "real_seeds": {"min": 0.855, "mean": 0.976, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.255, -2.255, -2.255], [-2.255, -2.255, -2.255]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.945, "peak_gpu_mib": 11643.5, "seconds": 79.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/poly1@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=poly1"], "slot": "loss", "component": "Poly1CrossEntropy", "variant": "poly1", "verdict": "runs", "judge": 2, "config_hash": "ea817ebf68af7156", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=poly1 -o loss__GraspNet-baseline__poly1@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__poly1@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [337, 348], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5493], "loss/view": [0.2001, 0.08062], "loss/score": [0.05519, 0.02811], "loss/angle": [0.7145, 0.6421], "loss/width": [0.6388, 0.1807], "loss/tolerance": [1.188, 0.4246], "loss": [3.559, 1.905]}, "trend": {"loss/objectness": [0.7623, 0.5888, 0.228], "loss/view": [0.2001, 0.07914, 0.605], "loss/score": [0.05519, 0.03286, 0.405], "loss/angle": [0.7145, 0.6364, 0.109], "loss/width": [0.6388, 0.1504, 0.765], "loss/tolerance": [1.188, 0.4761, 0.599], "loss": [3.559, 1.964, 0.448]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-41.27, -0.1013, 12.08], [-16.83, 0.3249, 15.94]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.226, "peak_gpu_mib": 3972.1, "seconds": 11.8}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/poly1@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=poly1"], "slot": "loss", "component": "Poly1CrossEntropy", "variant": "poly1", "verdict": "runs-empty", "judge": 2, "config_hash": "4c27828420f331c9", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=poly1 -o loss__Scale-Balanced-Grasp__poly1@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__poly1@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3296], "loss/view": [0.2608, 0.1124], "loss/score": [0.05227, 0.0231], "loss/angle": [0.6667, 0.6118], "loss/width": [0.5501, 0.1389], "loss/tolerance": [0.9566, 0.2394], "loss": [3.246, 1.455]}, "trend": {"loss/objectness": [0.7596, 0.3136, 0.587], "loss/view": [0.2608, 0.1261, 0.517], "loss/score": [0.05227, 0.02004, 0.617], "loss/angle": [0.6667, 0.5805, 0.129], "loss/width": [0.5501, 0.1749, 0.682], "loss/tolerance": [0.9566, 0.2988, 0.688], "loss": [3.246, 1.514, 0.534]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.425, "peak_gpu_mib": 9615.8, "seconds": 15.6}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/quality-focal@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=quality-focal"], "slot": "loss", "component": "QualityFocal", "variant": "quality-focal", "verdict": "runs", "judge": 2, "config_hash": "d158931ca79a34b6", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=quality-focal -o loss__GSNet__quality-focal@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__quality-focal@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [270, 350], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6436], "loss/graspness": [5.176, 0.4473], "loss/view": [6.291, 0.2688], "loss/score": [3.306, 0.03779], "loss/width": [3.654, 0.2747], "loss": [19.22, 1.672]}, "trend": {"loss/objectness": [0.7893, 0.6192, 0.215], "loss/graspness": [5.176, 0.3789, 0.927], "loss/view": [6.291, 0.3849, 0.939], "loss/score": [3.306, 0.0216, 0.993], "loss/width": [3.654, 0.3591, 0.902], "loss": [19.22, 1.764, 0.908]}, "real_seeds": {"min": 0.346, "mean": 0.909, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1976, 0.2345, 0.4339], [0.1391, 0.2293, 0.4225]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.223, "peak_gpu_mib": 1841.5, "seconds": 30.0}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/quality-focal@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=quality-focal"], "slot": "loss", "component": "QualityFocal", "variant": "quality-focal", "verdict": "runs", "judge": 2, "config_hash": "0e82a3c44c62d58f", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=quality-focal -o loss__EconomicGrasp__quality-focal@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__quality-focal@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6126], "loss/graspness": [5.216, 0.2959], "loss/view": [19.44, 1.791], "loss/angle": [3.303, 0.9669], "loss/depth": [2.236, 0.4396], "loss/score": [2.117, 0.8633], "loss/width": [8.756, 0.7544], "loss": [41.85, 5.724]}, "trend": {"loss/objectness": [0.7845, 0.6208, 0.209], "loss/graspness": [5.216, 0.3493, 0.933], "loss/view": [19.44, 1.919, 0.901], "loss/angle": [3.303, 1.043, 0.684], "loss/depth": [2.236, 0.5585, 0.75], "loss/score": [2.117, 0.9101, 0.57], "loss/width": [8.756, 0.7534, 0.914], "loss": [41.85, 6.154, 0.853]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.409, -2.933, -2.57], [-3.235, -2.949, -2.538]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.413, "peak_gpu_mib": 2063.6, "seconds": 41.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/quality-focal@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=quality-focal"], "slot": "loss", "component": "QualityFocal", "variant": "quality-focal", "verdict": "runs", "judge": 2, "config_hash": "4cd5d7a848b9b3b1", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=quality-focal -o loss__FineGrasp__quality-focal@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__quality-focal@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5951], "loss/graspness": [2.473, 0.2671], "loss/view": [19.08, 1.373], "loss/angle": [1.429, 0.89], "loss/depth": [2.039, 0.4771], "loss/score": [2.563, 0.7607], "loss/width": [4.953, 0.8249], "loss": [33.34, 5.188]}, "trend": {"loss/objectness": [0.8058, 0.6118, 0.241], "loss/graspness": [2.473, 0.2832, 0.886], "loss/view": [19.08, 1.38, 0.928], "loss/angle": [1.429, 0.9086, 0.364], "loss/depth": [2.039, 0.4911, 0.759], "loss/score": [2.563, 0.7898, 0.692], "loss/width": [4.953, 0.8113, 0.836], "loss": [33.34, 5.276, 0.842]}, "real_seeds": {"min": 0.685, "mean": 0.961, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.12, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.66, -1.66, -1.66], [-1.66, -1.66, -1.66]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.816, "peak_gpu_mib": 11643.0, "seconds": 86.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/softmax-focal@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=softmax-focal"], "slot": "loss", "component": "SoftmaxFocalLoss", "variant": "softmax-focal", "verdict": "runs", "judge": 2, "config_hash": "f38182f1d6a0a581", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=softmax-focal -o loss__GSNet__softmax-focal@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__softmax-focal@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [90, 233], "frames": 8, "losses": {"loss/objectness": [0.3758, 0.1968], "loss/graspness": [5.176, 0.4483], "loss/view": [6.291, 0.3066], "loss/score": [1.515, 0.08342], "loss/width": [3.654, 0.5005], "loss": [17.01, 1.536]}, "trend": {"loss/objectness": [0.3758, 0.1738, 0.538], "loss/graspness": [5.176, 0.37, 0.929], "loss/view": [6.291, 0.4196, 0.933], "loss/score": [1.515, 0.08828, 0.942], "loss/width": [3.654, 0.3429, 0.906], "loss": [17.01, 1.395, 0.918]}, "real_seeds": {"min": 0.316, "mean": 0.891, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07796, 0.1464, 0.2332], [0.1002, 0.1736, 0.4304]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.177, "peak_gpu_mib": 1842.8, "seconds": 29.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/softmax-focal@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=softmax-focal"], "slot": "loss", "component": "SoftmaxFocalLoss", "variant": "softmax-focal", "verdict": "runs", "judge": 2, "config_hash": "26e26273e86a8e4c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=softmax-focal -o loss__EconomicGrasp__softmax-focal@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__softmax-focal@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.628], "loss/graspness": [5.216, 0.2716], "loss/view": [6.545, 0.68], "loss/angle": [3.303, 0.7755], "loss/depth": [2.236, 0.4364], "loss/score": [1.646, 0.3584], "loss/width": [8.756, 0.6781], "loss": [28.49, 3.828]}, "trend": {"loss/objectness": [0.7845, 0.6207, 0.209], "loss/graspness": [5.216, 0.3272, 0.937], "loss/view": [6.545, 0.7084, 0.892], "loss/angle": [3.303, 0.7422, 0.775], "loss/depth": [2.236, 0.4297, 0.808], "loss/score": [1.646, 0.3558, 0.784], "loss/width": [8.756, 0.73, 0.917], "loss": [28.49, 3.914, 0.863]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.081, -1.821, -1.387], [-2.097, -1.777, -1.513]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.268, "peak_gpu_mib": 2066.2, "seconds": 33.8}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/softmax-focal@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=softmax-focal"], "slot": "loss", "component": "SoftmaxFocalLoss", "variant": "softmax-focal", "verdict": "runs", "judge": 2, "config_hash": "f5f4c3558dcb1530", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=softmax-focal -o loss__FineGrasp__softmax-focal@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__softmax-focal@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6193], "loss/graspness": [2.473, 0.2627], "loss/view": [5.497, 0.6145], "loss/angle": [1.429, 1.048], "loss/depth": [2.039, 0.5203], "loss/score": [2.184, 0.5339], "loss/width": [4.953, 0.7552], "loss": [19.38, 4.354]}, "trend": {"loss/objectness": [0.8058, 0.6272, 0.222], "loss/graspness": [2.473, 0.2753, 0.889], "loss/view": [5.497, 0.6072, 0.89], "loss/angle": [1.429, 1.012, 0.292], "loss/depth": [2.039, 0.5455, 0.732], "loss/score": [2.184, 0.5129, 0.765], "loss/width": [4.953, 0.7937, 0.84], "loss": [19.38, 4.374, 0.774]}, "real_seeds": {"min": 0.609, "mean": 0.96, "zero_iterations": 0}, "supervised_seeds": {"min": 0.027, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.9514, -0.9513, -0.9512], [-0.9514, -0.9513, -0.9512]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.926, "peak_gpu_mib": 11643.5, "seconds": 78.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/softmax-focal@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=softmax-focal"], "slot": "loss", "component": "SoftmaxFocalLoss", "variant": "softmax-focal", "verdict": "runs", "judge": 2, "config_hash": "38c4602d1197d5dc", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=softmax-focal -o loss__GraspNet-baseline__softmax-focal@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__softmax-focal@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [521, 587], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.593], "loss/view": [0.2001, 0.07751], "loss/score": [0.05519, 0.02975], "loss/angle": [0.4568, 0.384], "loss/width": [0.6388, 0.1579], "loss/tolerance": [1.188, 0.5122], "loss": [3.301, 1.754]}, "trend": {"loss/objectness": [0.7623, 0.5917, 0.224], "loss/view": [0.2001, 0.07973, 0.602], "loss/score": [0.05519, 0.0343, 0.378], "loss/angle": [0.4568, 0.3806, 0.167], "loss/width": [0.6388, 0.1514, 0.763], "loss/tolerance": [1.188, 0.4708, 0.604], "loss": [3.301, 1.709, 0.482]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-32.5, -0.654, 45.05], [-26.09, -0.7014, 15.18]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.262, "peak_gpu_mib": 3972.1, "seconds": 13.0}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/softmax-focal@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=softmax-focal"], "slot": "loss", "component": "SoftmaxFocalLoss", "variant": "softmax-focal", "verdict": "runs", "judge": 2, "config_hash": "7fffc8afcb73ca8c", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=softmax-focal -o loss__Scale-Balanced-Grasp__softmax-focal@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__softmax-focal@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [4, 3], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3213], "loss/view": [0.2608, 0.1097], "loss/score": [0.05227, 0.0178], "loss/angle": [0.4034, 0.3523], "loss/width": [0.5501, 0.1334], "loss/tolerance": [0.9566, 0.2434], "loss": [2.983, 1.178]}, "trend": {"loss/objectness": [0.7596, 0.3139, 0.587], "loss/view": [0.2608, 0.1252, 0.52], "loss/score": [0.05227, 0.01809, 0.654], "loss/angle": [0.4034, 0.3276, 0.188], "loss/width": [0.5501, 0.1619, 0.706], "loss/tolerance": [0.9566, 0.2433, 0.746], "loss": [2.983, 1.19, 0.601]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.631, -1.422, 1.07], [-4.616, -4.562, -3.582]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.473, "peak_gpu_mib": 9615.8, "seconds": 16.8}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/uncertainty-weighting@proposal.objectness_loss", "group": "loss", "method": "GSNet", "sets": ["proposal.objectness_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "9f5e731baaa833f7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set proposal.objectness_loss=uncertainty-weighting -o loss__GSNet__uncertainty-weighting@proposal.objectness_loss.yaml", "probe": "grasppanda probe loss__GSNet__uncertainty-weighting@proposal.objectness_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353776, "iterations": 20, "batch_size": 4, "grasps_per_frame": [313, 362], "frames": 8, "losses": {"loss/objectness": [0.4427, 0.2764], "loss/graspness": [5.176, 0.4567], "loss/view": [6.291, 0.2399], "loss/score": [1.515, 0.08327], "loss/width": [3.654, 0.412], "loss": [17.08, 1.468]}, "trend": {"loss/objectness": [0.4427, 0.2719, 0.386], "loss/graspness": [5.176, 0.3698, 0.929], "loss/view": [6.291, 0.3235, 0.949], "loss/score": [1.515, 0.08555, 0.944], "loss/width": [3.654, 0.2691, 0.926], "loss": [17.08, 1.32, 0.923]}, "real_seeds": {"min": 0.417, "mean": 0.922, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.08178, 0.1476, 0.2283], [0.09212, 0.1526, 0.3567]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.184, "peak_gpu_mib": 1841.5, "seconds": 29.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/uncertainty-weighting@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "a6b1ff91bb8e04f4", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=uncertainty-weighting -o loss__GSNet__uncertainty-weighting@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__uncertainty-weighting@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353776, "iterations": 20, "batch_size": 4, "grasps_per_frame": [166, 191], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6246], "loss/graspness": [5.176, 0.4688], "loss/view": [6.291, 0.299], "loss/score": [1.168, -0.2674], "loss/width": [3.654, 0.3561], "loss": [17.08, 1.481]}, "trend": {"loss/objectness": [0.7893, 0.6113, 0.226], "loss/graspness": [5.176, 0.3794, 0.927], "loss/view": [6.291, 0.4526, 0.928], "loss/score": [1.168, -0.2587, 1.221], "loss/width": [3.654, 0.2332, 0.936], "loss": [17.08, 1.418, 0.917]}, "real_seeds": {"min": 0.296, "mean": 0.899, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.103, 0.1601, 0.2252], [0.09657, 0.1535, 0.29]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.156, "peak_gpu_mib": 1841.5, "seconds": 32.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GSNet/uncertainty-weighting@head.width_loss", "group": "loss", "method": "GSNet", "sets": ["head.width_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "e006a0ec45970a3f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.width_loss=uncertainty-weighting -o loss__GSNet__uncertainty-weighting@head.width_loss.yaml", "probe": "grasppanda probe loss__GSNet__uncertainty-weighting@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353776, "iterations": 20, "batch_size": 4, "grasps_per_frame": [439, 460], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6147], "loss/graspness": [5.176, 0.4412], "loss/view": [6.291, 0.4816], "loss/score": [1.515, 0.08172], "loss/width": [3.307, 0.06875], "loss": [17.08, 1.688]}, "trend": {"loss/objectness": [0.7893, 0.6148, 0.221], "loss/graspness": [5.176, 0.3661, 0.929], "loss/view": [6.291, 0.4246, 0.933], "loss/score": [1.515, 0.0936, 0.938], "loss/width": [3.307, -0.03058, 1.009], "loss": [17.08, 1.469, 0.914]}, "real_seeds": {"min": 0.515, "mean": 0.935, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[0.1141, 0.1778, 0.2347], [0.1128, 0.1711, 0.3407]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.15, "peak_gpu_mib": 1841.5, "seconds": 29.0}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/uncertainty-weighting@head.score_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.score_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "ba858dbe2cc3fced", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.score_loss=uncertainty-weighting -o loss__EconomicGrasp__uncertainty-weighting@head.score_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__uncertainty-weighting@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750239, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6224], "loss/graspness": [5.216, 0.2718], "loss/view": [6.545, 0.69], "loss/angle": [3.303, 0.8081], "loss/depth": [2.236, 0.4404], "loss/score": [1.77, 0.3727], "loss/width": [8.756, 0.7456], "loss": [28.61, 3.951]}, "trend": {"loss/objectness": [0.7845, 0.6158, 0.215], "loss/graspness": [5.216, 0.3304, 0.937], "loss/view": [6.545, 0.7118, 0.891], "loss/angle": [3.303, 0.7749, 0.765], "loss/depth": [2.236, 0.4213, 0.812], "loss/score": [1.77, 0.3173, 0.821], "loss/width": [8.756, 0.7197, 0.918], "loss": [28.61, 3.891, 0.864]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-3.62, -3.331, -2.444], [-3.657, -3.322, -2.97]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.274, "peak_gpu_mib": 2066.2, "seconds": 38.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/uncertainty-weighting@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "477ed7e5f3e6c3bd", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=uncertainty-weighting -o loss__EconomicGrasp__uncertainty-weighting@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__uncertainty-weighting@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750239, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6211], "loss/graspness": [5.216, 0.2748], "loss/view": [6.198, 0.3407], "loss/angle": [3.303, 0.6528], "loss/depth": [2.236, 0.3579], "loss/score": [2.117, 0.5548], "loss/width": [8.756, 0.607], "loss": [28.61, 3.409]}, "trend": {"loss/objectness": [0.7845, 0.6137, 0.218], "loss/graspness": [5.216, 0.3368, 0.935], "loss/view": [6.198, 0.3664, 0.941], "loss/angle": [3.303, 0.7745, 0.766], "loss/depth": [2.236, 0.4438, 0.802], "loss/score": [2.117, 0.6474, 0.694], "loss/width": [8.756, 0.6828, 0.922], "loss": [28.61, 3.865, 0.865]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-3.408, -3.13, -2.814], [-3.425, -3.156, -2.858]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.29, "peak_gpu_mib": 2066.2, "seconds": 37.5}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/uncertainty-weighting@head.width_loss", "group": "loss", "method": "EconomicGrasp", "sets": ["head.width_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "cdfcaccaaf39f371", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set head.width_loss=uncertainty-weighting -o loss__EconomicGrasp__uncertainty-weighting@head.width_loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__uncertainty-weighting@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750239, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6202], "loss/graspness": [5.216, 0.2854], "loss/view": [6.545, 0.6865], "loss/angle": [3.303, 0.7153], "loss/depth": [2.236, 0.4197], "loss/score": [2.117, 0.6205], "loss/width": [8.409, 0.349], "loss": [28.61, 3.697]}, "trend": {"loss/objectness": [0.7845, 0.6105, 0.222], "loss/graspness": [5.216, 0.3367, 0.935], "loss/view": [6.545, 0.7118, 0.891], "loss/angle": [3.303, 0.7239, 0.781], "loss/depth": [2.236, 0.4285, 0.808], "loss/score": [2.117, 0.6428, 0.696], "loss/width": [8.409, 0.3769, 0.955], "loss": [28.61, 3.831, 0.866]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [16, 5], "score_quantiles": [[-3.523, -3.183, -2.76], [-3.589, -3.232, -2.869]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.345, "peak_gpu_mib": 2066.2, "seconds": 37.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/uncertainty-weighting@head.score_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.score_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "4b5b84e50fecb250", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.score_loss=uncertainty-weighting -o loss__FineGrasp__uncertainty-weighting@head.score_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__uncertainty-weighting@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145442, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6194], "loss/graspness": [2.473, 0.2627], "loss/view": [5.497, 0.6204], "loss/angle": [1.429, 1.048], "loss/depth": [2.039, 0.5608], "loss/score": [2.216, 0.5496], "loss/width": [4.953, 0.7293], "loss": [19.41, 4.39]}, "trend": {"loss/objectness": [0.8058, 0.6281, 0.221], "loss/graspness": [2.473, 0.2729, 0.89], "loss/view": [5.497, 0.6085, 0.889], "loss/angle": [1.429, 0.9948, 0.304], "loss/depth": [2.039, 0.5487, 0.731], "loss/score": [2.216, 0.49, 0.779], "loss/width": [4.953, 0.7984, 0.839], "loss": [19.41, 4.341, 0.776]}, "real_seeds": {"min": 0.729, "mean": 0.966, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.885, -1.884, -1.884], [-1.885, -1.884, -1.884]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.504, "peak_gpu_mib": 11643.5, "seconds": 79.4}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/uncertainty-weighting@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "25ae7aa1be30a8fe", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=uncertainty-weighting -o loss__FineGrasp__uncertainty-weighting@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__uncertainty-weighting@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145442, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6161], "loss/graspness": [2.473, 0.2634], "loss/view": [5.151, 0.2759], "loss/angle": [1.429, 1.168], "loss/depth": [2.039, 0.6041], "loss/score": [2.563, 0.987], "loss/width": [4.953, 0.7425], "loss": [19.41, 4.656]}, "trend": {"loss/objectness": [0.8058, 0.6251, 0.224], "loss/graspness": [2.473, 0.272, 0.89], "loss/view": [5.151, 0.26, 0.95], "loss/angle": [1.429, 1.056, 0.261], "loss/depth": [2.039, 0.5316, 0.739], "loss/score": [2.563, 0.884, 0.655], "loss/width": [4.953, 0.7735, 0.844], "loss": [19.41, 4.403, 0.773]}, "real_seeds": {"min": 0.614, "mean": 0.959, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.618, -1.618, -1.617], [-1.618, -1.618, -1.617]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.507, "peak_gpu_mib": 11643.5, "seconds": 73.9}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/uncertainty-weighting@head.width_loss", "group": "loss", "method": "FineGrasp", "sets": ["head.width_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "0ec9418a51ffcca0", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set head.width_loss=uncertainty-weighting -o loss__FineGrasp__uncertainty-weighting@head.width_loss.yaml", "probe": "grasppanda probe loss__FineGrasp__uncertainty-weighting@head.width_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145442, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6181], "loss/graspness": [2.473, 0.2671], "loss/view": [5.497, 0.6269], "loss/angle": [1.429, 1.116], "loss/depth": [2.039, 0.6145], "loss/score": [2.563, 0.9346], "loss/width": [4.606, 0.3677], "loss": [19.41, 4.545]}, "trend": {"loss/objectness": [0.8058, 0.627, 0.222], "loss/graspness": [2.473, 0.2753, 0.889], "loss/view": [5.497, 0.6088, 0.889], "loss/angle": [1.429, 1.04, 0.272], "loss/depth": [2.039, 0.5574, 0.727], "loss/score": [2.563, 0.8739, 0.659], "loss/width": [4.606, 0.4126, 0.91], "loss": [19.41, 4.395, 0.774]}, "real_seeds": {"min": 0.856, "mean": 0.986, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.868, -1.868, -1.868], [-1.868, -1.868, -1.868]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.619, "peak_gpu_mib": 11643.5, "seconds": 68.2}, "run": "2026-10-15@98e5310"},
  {"id": "loss/GraspNet-baseline/uncertainty-weighting@head.angle_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.angle_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "b828cab40a2f96f6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.angle_loss=uncertainty-weighting -o loss__GraspNet-baseline__uncertainty-weighting@head.angle_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__uncertainty-weighting@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025965, "iterations": 20, "batch_size": 2, "grasps_per_frame": [425, 345], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.563], "loss/view": [0.2001, 0.0767], "loss/score": [0.05519, 0.02813], "loss/angle": [0.1834, 0.1332], "loss/width": [0.6388, 0.1785], "loss/tolerance": [1.188, 0.5193], "loss": [3.028, 1.499]}, "trend": {"loss/objectness": [0.7623, 0.5797, 0.24], "loss/view": [0.2001, 0.07849, 0.608], "loss/score": [0.05519, 0.03134, 0.432], "loss/angle": [0.1834, 0.1169, 0.362], "loss/width": [0.6388, 0.165, 0.742], "loss/tolerance": [1.188, 0.4979, 0.581], "loss": [3.028, 1.469, 0.515]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [[-20.84, -0.1189, 15.34], [-15.88, 0.03023, 13.92]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.275, "peak_gpu_mib": 3972.1, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "loss/GraspNet-baseline/uncertainty-weighting@head.tolerance_loss", "group": "loss", "method": "GraspNet-baseline", "sets": ["head.tolerance_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs", "judge": 2, "config_hash": "a620a825e51bc8d6", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set head.tolerance_loss=uncertainty-weighting -o loss__GraspNet-baseline__uncertainty-weighting@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__GraspNet-baseline__uncertainty-weighting@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025965, "iterations": 20, "batch_size": 2, "grasps_per_frame": [661, 707], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5257], "loss/view": [0.2001, 0.07433], "loss/score": [0.05519, 0.0402], "loss/angle": [0.53, 0.4628], "loss/width": [0.6388, 0.1464], "loss/tolerance": [0.8414, 0.131], "loss": [3.028, 1.381]}, "trend": {"loss/objectness": [0.7623, 0.5764, 0.244], "loss/view": [0.2001, 0.07834, 0.609], "loss/score": [0.05519, 0.03832, 0.306], "loss/angle": [0.53, 0.4657, 0.121], "loss/width": [0.6388, 0.1572, 0.754], "loss/tolerance": [0.8414, 0.1394, 0.834], "loss": [3.028, 1.455, 0.519]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [[-49.42, 0.1213, 32.61], [-18.6, -0.04052, 32.31]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.285, "peak_gpu_mib": 3972.1, "seconds": 12.7}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/uncertainty-weighting@head.angle_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.angle_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs-empty", "judge": 2, "config_hash": "748c2b24302ba88c", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.angle_loss=uncertainty-weighting -o loss__Scale-Balanced-Grasp__uncertainty-weighting@head.angle_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__uncertainty-weighting@head.angle_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577197, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3234], "loss/view": [0.2608, 0.1132], "loss/score": [0.05227, 0.02748], "loss/angle": [0.139, 0.07883], "loss/width": [0.5501, 0.1562], "loss/tolerance": [0.9566, 0.232], "loss": [2.718, 0.9311]}, "trend": {"loss/objectness": [0.7596, 0.3134, 0.587], "loss/view": [0.2608, 0.1272, 0.512], "loss/score": [0.05227, 0.02039, 0.61], "loss/angle": [0.139, 0.07192, 0.483], "loss/width": [0.5501, 0.1822, 0.669], "loss/tolerance": [0.9566, 0.2851, 0.702], "loss": [2.718, 1.0, 0.632]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.494, "peak_gpu_mib": 9615.8, "seconds": 17.0}, "run": "2026-10-15@96facee"},
  {"id": "loss/Scale-Balanced-Grasp/uncertainty-weighting@head.tolerance_loss", "group": "loss", "method": "Scale-Balanced-Grasp", "sets": ["head.tolerance_loss=uncertainty-weighting"], "slot": "loss", "component": "UncertaintyWeighted", "variant": "uncertainty-weighting", "verdict": "runs-empty", "judge": 2, "config_hash": "338570a522da99b3", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set head.tolerance_loss=uncertainty-weighting -o loss__Scale-Balanced-Grasp__uncertainty-weighting@head.tolerance_loss.yaml", "probe": "grasppanda probe loss__Scale-Balanced-Grasp__uncertainty-weighting@head.tolerance_loss.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577197, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.32], "loss/view": [0.2608, 0.1111], "loss/score": [0.05227, 0.02405], "loss/angle": [0.4856, 0.425], "loss/width": [0.5501, 0.1437], "loss/tolerance": [0.61, -0.06846], "loss": [2.718, 0.9555]}, "trend": {"loss/objectness": [0.7596, 0.3107, 0.591], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.01981, 0.621], "loss/angle": [0.4856, 0.4191, 0.137], "loss/width": [0.5501, 0.1836, 0.666], "loss/tolerance": [0.61, -0.06495, 1.106], "loss": [2.718, 0.9939, 0.634]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.452, "peak_gpu_mib": 9615.8, "seconds": 16.6}, "run": "2026-10-15@96facee"},
  {"id": "loss/GSNet/varifocal@head.score_loss", "group": "loss", "method": "GSNet", "sets": ["head.score_loss=varifocal"], "slot": "loss", "component": "Varifocal", "variant": "varifocal", "verdict": "runs", "judge": 2, "config_hash": "3165e5d5e3b11ca7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set head.score_loss=varifocal -o loss__GSNet__varifocal@head.score_loss.yaml", "probe": "grasppanda probe loss__GSNet__varifocal@head.score_loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [285, 323], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6589], "loss/graspness": [5.176, 0.4179], "loss/view": [6.291, 0.307], "loss/score": [2.483, 0.1482], "loss/width": [3.654, 0.2758], "loss": [18.39, 1.808]}, "trend": {"loss/objectness": [0.7893, 0.6235, 0.21], "loss/graspness": [5.176, 0.3687, 0.929], "loss/view": [6.291, 0.3503, 0.944], "loss/score": [2.483, 0.1197, 0.952], "loss/width": [3.654, 0.3358, 0.908], "loss": [18.39, 1.798, 0.902]}, "real_seeds": {"min": 0.373, "mean": 0.91, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.3209, 0.3659, 0.461], [0.3364, 0.3684, 0.4691]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.219, "peak_gpu_mib": 1841.5, "seconds": 28.1}, "run": "2026-10-15@98e5310"},
  {"id": "loss/EconomicGrasp/varifocal@view.loss", "group": "loss", "method": "EconomicGrasp", "sets": ["view.loss=varifocal"], "slot": "loss", "component": "Varifocal", "variant": "varifocal", "verdict": "runs", "judge": 2, "config_hash": "418dcfed3104ee9e", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set view.loss=varifocal -o loss__EconomicGrasp__varifocal@view.loss.yaml", "probe": "grasppanda probe loss__EconomicGrasp__varifocal@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6203], "loss/graspness": [5.216, 0.2994], "loss/view": [15.77, 3.217], "loss/angle": [3.303, 0.9794], "loss/depth": [2.236, 0.5123], "loss/score": [2.117, 0.8161], "loss/width": [8.756, 0.7979], "loss": [38.18, 7.243]}, "trend": {"loss/objectness": [0.7845, 0.6114, 0.221], "loss/graspness": [5.216, 0.331, 0.937], "loss/view": [15.77, 3.137, 0.801], "loss/angle": [3.303, 0.9813, 0.703], "loss/depth": [2.236, 0.5624, 0.749], "loss/score": [2.117, 0.8205, 0.612], "loss/width": [8.756, 0.7714, 0.912], "loss": [38.18, 7.215, 0.811]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.139, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.246, -2.927, -2.541], [-3.226, -2.952, -2.631]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.156, "peak_gpu_mib": 2067.4, "seconds": 24.3}, "run": "2026-10-15@98e5310"},
  {"id": "loss/FineGrasp/varifocal@view.loss", "group": "loss", "method": "FineGrasp", "sets": ["view.loss=varifocal"], "slot": "loss", "component": "Varifocal", "variant": "varifocal", "verdict": "runs", "judge": 2, "config_hash": "6e5bbb09b3d4b8fa", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set view.loss=varifocal -o loss__FineGrasp__varifocal@view.loss.yaml", "probe": "grasppanda probe loss__FineGrasp__varifocal@view.loss.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6089], "loss/graspness": [2.473, 0.2713], "loss/view": [15.49, 2.727], "loss/angle": [1.429, 0.9473], "loss/depth": [2.039, 0.4861], "loss/score": [2.563, 0.7853], "loss/width": [4.953, 0.7475], "loss": [29.75, 6.573]}, "trend": {"loss/objectness": [0.8058, 0.6209, 0.229], "loss/graspness": [2.473, 0.2795, 0.887], "loss/view": [15.49, 2.825, 0.818], "loss/angle": [1.429, 0.94, 0.342], "loss/depth": [2.039, 0.4869, 0.761], "loss/score": [2.563, 0.7834, 0.694], "loss/width": [4.953, 0.834, 0.832], "loss": [29.75, 6.77, 0.772]}, "real_seeds": {"min": 0.562, "mean": 0.964, "zero_iterations": 0}, "supervised_seeds": {"min": 0.026, "mean": 0.11, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.886, -1.886, -1.886], [-1.886, -1.886, -1.886]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.621, "peak_gpu_mib": 11644.0, "seconds": 67.3}, "run": "2026-10-15@98e5310"},
  {"id": "recipe/GSNet/optimizer/adamw-no-decay-1d", "group": "recipe", "method": "GSNet", "sets": ["optimizer=adamw-no-decay-1d"], "slot": "optimizer", "component": "ParamGroups", "variant": "adamw-no-decay-1d", "verdict": "runs", "judge": 2, "config_hash": "de078c900661b267", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=adamw-no-decay-1d -o recipe__GSNet__optimizer__adamw-no-decay-1d.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__adamw-no-decay-1d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [360, 399], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6069], "loss/graspness": [5.176, 0.4484], "loss/view": [6.291, 0.2269], "loss/score": [1.515, 0.07734], "loss/width": [3.654, 0.3131], "loss": [17.43, 1.673]}, "trend": {"loss/objectness": [0.7893, 0.6074, 0.23], "loss/graspness": [5.176, 0.3736, 0.928], "loss/view": [6.291, 0.3922, 0.938], "loss/score": [1.515, 0.09125, 0.94], "loss/width": [3.654, 0.343, 0.906], "loss": [17.43, 1.807, 0.896]}, "real_seeds": {"min": 0.4, "mean": 0.917, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08978, 0.1765, 0.2606], [0.1014, 0.1676, 0.3182]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.18, "peak_gpu_mib": 1841.5, "seconds": 32.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/adamw-no-decay-1d", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=adamw-no-decay-1d"], "slot": "optimizer", "component": "ParamGroups", "variant": "adamw-no-decay-1d", "verdict": "runs", "judge": 2, "config_hash": "8683312c6bdcd0dc", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=adamw-no-decay-1d -o recipe__EconomicGrasp__optimizer__adamw-no-decay-1d.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__adamw-no-decay-1d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6334], "loss/graspness": [5.216, 0.2748], "loss/view": [6.545, 0.6822], "loss/angle": [3.303, 0.8434], "loss/depth": [2.236, 0.4509], "loss/score": [2.117, 0.685], "loss/width": [8.756, 0.7296], "loss": [28.96, 4.299]}, "trend": {"loss/objectness": [0.7845, 0.625, 0.203], "loss/graspness": [5.216, 0.3397, 0.935], "loss/view": [6.545, 0.7069, 0.892], "loss/angle": [3.303, 0.8007, 0.758], "loss/depth": [2.236, 0.4373, 0.804], "loss/score": [2.117, 0.6706, 0.683], "loss/width": [8.756, 0.7407, 0.915], "loss": [28.96, 4.321, 0.851]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.526, -3.187, -2.824], [-3.524, -3.211, -2.95]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.159, "peak_gpu_mib": 2066.2, "seconds": 29.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/adamw-no-decay-1d", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=adamw-no-decay-1d"], "slot": "optimizer", "component": "ParamGroups", "variant": "adamw-no-decay-1d", "verdict": "runs", "judge": 2, "config_hash": "e1a7ba0b3d1f3131", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=adamw-no-decay-1d -o recipe__FineGrasp__optimizer__adamw-no-decay-1d.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__adamw-no-decay-1d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6499], "loss/graspness": [2.473, 0.2808], "loss/view": [5.497, 0.7045], "loss/angle": [1.429, 0.6222], "loss/depth": [2.039, 0.3259], "loss/score": [2.563, 0.5287], "loss/width": [4.953, 0.6905], "loss": [19.76, 3.803]}, "trend": {"loss/objectness": [0.8058, 0.6564, 0.185], "loss/graspness": [2.473, 0.3102, 0.875], "loss/view": [5.497, 0.7439, 0.865], "loss/angle": [1.429, 0.6847, 0.521], "loss/depth": [2.039, 0.378, 0.815], "loss/score": [2.563, 0.5881, 0.771], "loss/width": [4.953, 0.7128, 0.856], "loss": [19.76, 4.074, 0.794]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.101, "mean": 0.119, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.522, -1.3, -1.018], [-1.577, -1.337, -1.05]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.074, "peak_gpu_mib": 11643.5, "seconds": 84.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/adamw-no-decay-1d", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=adamw-no-decay-1d"], "slot": "optimizer", "component": "ParamGroups", "variant": "adamw-no-decay-1d", "verdict": "runs", "judge": 2, "config_hash": "349c00a4b9d8a50e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=adamw-no-decay-1d -o recipe__GraspNet-baseline__optimizer__adamw-no-decay-1d.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__adamw-no-decay-1d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [587, 605], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5477], "loss/view": [0.2001, 0.07522], "loss/score": [0.05519, 0.02581], "loss/angle": [0.53, 0.4747], "loss/width": [0.6388, 0.1664], "loss/tolerance": [1.188, 0.4018], "loss": [3.374, 1.691]}, "trend": {"loss/objectness": [0.7623, 0.5733, 0.248], "loss/view": [0.2001, 0.0775, 0.613], "loss/score": [0.05519, 0.03194, 0.421], "loss/angle": [0.53, 0.4642, 0.124], "loss/width": [0.6388, 0.1616, 0.747], "loss/tolerance": [1.188, 0.4364, 0.633], "loss": [3.374, 1.745, 0.483]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-24.52, 0.1556, 17.8], [-21.18, 0.3521, 15.48]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.274, "peak_gpu_mib": 3972.1, "seconds": 13.2}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/adamw-no-decay-1d", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=adamw-no-decay-1d"], "slot": "optimizer", "component": "ParamGroups", "variant": "adamw-no-decay-1d", "verdict": "runs", "judge": 2, "config_hash": "f77b262f0d78b160", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=adamw-no-decay-1d -o recipe__Scale-Balanced-Grasp__optimizer__adamw-no-decay-1d.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__adamw-no-decay-1d.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [9, 1], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3161], "loss/view": [0.2608, 0.1115], "loss/score": [0.05227, 0.02261], "loss/angle": [0.4856, 0.4288], "loss/width": [0.5501, 0.1296], "loss/tolerance": [0.9566, 0.2264], "loss": [3.065, 1.235]}, "trend": {"loss/objectness": [0.7596, 0.308, 0.594], "loss/view": [0.2608, 0.1251, 0.52], "loss/score": [0.05227, 0.01968, 0.623], "loss/angle": [0.4856, 0.4177, 0.14], "loss/width": [0.5501, 0.1757, 0.681], "loss/tolerance": [0.9566, 0.2955, 0.691], "loss": [3.065, 1.342, 0.562]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-13.18, -7.333, 2.653], [2.057, 2.057, 2.057]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.419, "peak_gpu_mib": 9615.8, "seconds": 16.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/adamw-no-decay-1d", "group": "recipe", "method": "HGGD", "sets": ["optimizer=adamw-no-decay-1d"], "slot": "optimizer", "component": "ParamGroups", "variant": "adamw-no-decay-1d", "verdict": "runs", "judge": 2, "config_hash": "624724c2bda22755", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=adamw-no-decay-1d -o recipe__HGGD__optimizer__adamw-no-decay-1d.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__adamw-no-decay-1d.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [326, 270], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 53.78], "loss/angle": [4942.0, 357.5], "loss/offsets": [0.9016, 0.5285], "loss/anchor": [85.42, 17.86], "loss/anchor_offset": [1.376, 0.5871], "loss": [7459.0, 430.3]}, "trend": {"loss/heatmap": [2429.0, 81.71, 0.966], "loss/angle": [4942.0, 364.0, 0.926], "loss/offsets": [0.9016, 0.5716, 0.366], "loss/anchor": [85.42, 32.56, 0.619], "loss/anchor_offset": [1.376, 0.6167, 0.552], "loss": [7459.0, 479.4, 0.936]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.2195, 0.2599, 0.4375], [0.2118, 0.26, 0.3326]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.687, "peak_gpu_mib": 7835.2, "seconds": 23.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/adamw", "group": "recipe", "method": "GSNet", "sets": ["optimizer=adamw"], "slot": "optimizer", "component": "AdamW", "variant": "adamw", "verdict": "runs", "judge": 2, "config_hash": "5f1621cbaaca582c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=adamw -o recipe__GSNet__optimizer__adamw.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__adamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [246, 306], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6371], "loss/graspness": [5.176, 0.4437], "loss/view": [6.291, 0.3776], "loss/score": [1.515, 0.08004], "loss/width": [3.654, 0.2578], "loss": [17.43, 1.796]}, "trend": {"loss/objectness": [0.7893, 0.626, 0.207], "loss/graspness": [5.176, 0.3631, 0.93], "loss/view": [6.291, 0.3718, 0.941], "loss/score": [1.515, 0.08759, 0.942], "loss/width": [3.654, 0.2592, 0.929], "loss": [17.43, 1.708, 0.902]}, "real_seeds": {"min": 0.447, "mean": 0.917, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.105, 0.1499, 0.2133], [0.09378, 0.1481, 0.3852]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.188, "peak_gpu_mib": 1841.5, "seconds": 30.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/adamw", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=adamw"], "slot": "optimizer", "component": "AdamW", "variant": "adamw", "verdict": "runs", "judge": 2, "config_hash": "54d4d9757dde8996", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=adamw -o recipe__EconomicGrasp__optimizer__adamw.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__adamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6188], "loss/graspness": [5.216, 0.2837], "loss/view": [6.545, 0.6857], "loss/angle": [3.303, 0.8187], "loss/depth": [2.236, 0.4552], "loss/score": [2.117, 0.6629], "loss/width": [8.756, 0.6792], "loss": [28.96, 4.204]}, "trend": {"loss/objectness": [0.7845, 0.6123, 0.219], "loss/graspness": [5.216, 0.337, 0.935], "loss/view": [6.545, 0.7153, 0.891], "loss/angle": [3.303, 0.7541, 0.772], "loss/depth": [2.236, 0.4219, 0.811], "loss/score": [2.117, 0.6281, 0.703], "loss/width": [8.756, 0.7006, 0.92], "loss": [28.96, 4.169, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.385, -3.096, -2.804], [-3.451, -3.133, -2.022]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.907, "peak_gpu_mib": 2066.2, "seconds": 41.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/adamw", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=adamw"], "slot": "optimizer", "component": "AdamW", "variant": "adamw", "verdict": "runs", "judge": 2, "config_hash": "563e330b532e2888", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=adamw -o recipe__FineGrasp__optimizer__adamw.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__adamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6499], "loss/graspness": [2.473, 0.282], "loss/view": [5.497, 0.7048], "loss/angle": [1.429, 0.662], "loss/depth": [2.039, 0.3467], "loss/score": [2.563, 0.5439], "loss/width": [4.953, 0.7194], "loss": [19.76, 3.909]}, "trend": {"loss/objectness": [0.8058, 0.6564, 0.185], "loss/graspness": [2.473, 0.3122, 0.874], "loss/view": [5.497, 0.7384, 0.866], "loss/angle": [1.429, 0.667, 0.533], "loss/depth": [2.039, 0.353, 0.827], "loss/score": [2.563, 0.5735, 0.776], "loss/width": [4.953, 0.7286, 0.853], "loss": [19.76, 4.029, 0.796]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.554, -1.331, -1.046], [-1.575, -1.359, -0.749]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.966, "peak_gpu_mib": 11643.5, "seconds": 78.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/adamw", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=adamw"], "slot": "optimizer", "component": "AdamW", "variant": "adamw", "verdict": "runs", "judge": 2, "config_hash": "0031d5194a77e514", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=adamw -o recipe__GraspNet-baseline__optimizer__adamw.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__adamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [798, 643], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5597], "loss/view": [0.2001, 0.07595], "loss/score": [0.05519, 0.04838], "loss/angle": [0.53, 0.4536], "loss/width": [0.6388, 0.1301], "loss/tolerance": [1.188, 0.4155], "loss": [3.374, 1.683]}, "trend": {"loss/objectness": [0.7623, 0.5733, 0.248], "loss/view": [0.2001, 0.07942, 0.603], "loss/score": [0.05519, 0.03656, 0.337], "loss/angle": [0.53, 0.4667, 0.119], "loss/width": [0.6388, 0.1572, 0.754], "loss/tolerance": [1.188, 0.5013, 0.578], "loss": [3.374, 1.814, 0.462]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-31.06, -0.5359, 14.76], [-18.31, -0.5247, 18.81]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.225, "peak_gpu_mib": 3972.1, "seconds": 12.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/adamw", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=adamw"], "slot": "optimizer", "component": "AdamW", "variant": "adamw", "verdict": "runs-empty", "judge": 2, "config_hash": "da6918ccb0132218", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=adamw -o recipe__Scale-Balanced-Grasp__optimizer__adamw.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__adamw.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3206], "loss/view": [0.2608, 0.1115], "loss/score": [0.05227, 0.02176], "loss/angle": [0.4856, 0.4229], "loss/width": [0.5501, 0.1707], "loss/tolerance": [0.9566, 0.2258], "loss": [3.065, 1.273]}, "trend": {"loss/objectness": [0.7596, 0.3121, 0.589], "loss/view": [0.2608, 0.1255, 0.519], "loss/score": [0.05227, 0.01804, 0.655], "loss/angle": [0.4856, 0.4106, 0.154], "loss/width": [0.5501, 0.1987, 0.639], "loss/tolerance": [0.9566, 0.2502, 0.738], "loss": [3.065, 1.315, 0.571]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.441, "peak_gpu_mib": 9615.8, "seconds": 16.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/adamw", "group": "recipe", "method": "HGGD", "sets": ["optimizer=adamw"], "slot": "optimizer", "component": "AdamW", "variant": "adamw", "verdict": "runs", "judge": 2, "config_hash": "569a12faaf09c0fa", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=adamw -o recipe__HGGD__optimizer__adamw.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__adamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [311, 288], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 53.87], "loss/angle": [4942.0, 357.2], "loss/offsets": [0.9016, 0.5131], "loss/anchor": [85.42, 18.36], "loss/anchor_offset": [1.376, 0.3465], "loss": [7459.0, 430.3]}, "trend": {"loss/heatmap": [2429.0, 81.85, 0.966], "loss/angle": [4942.0, 363.5, 0.926], "loss/offsets": [0.9016, 0.5811, 0.355], "loss/anchor": [85.42, 24.02, 0.719], "loss/anchor_offset": [1.376, 0.5423, 0.606], "loss": [7459.0, 470.5, 0.937]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.2198, 0.2614, 0.409], [0.2119, 0.2608, 0.3796]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.568, "peak_gpu_mib": 7850.7, "seconds": 22.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/ademamix", "group": "recipe", "method": "GSNet", "sets": ["optimizer=ademamix"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "ademamix", "verdict": "runs", "judge": 2, "config_hash": "ba189bcf482af77c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=ademamix -o recipe__GSNet__optimizer__ademamix.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__ademamix.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [376, 345], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6139], "loss/graspness": [5.176, 0.4519], "loss/view": [6.291, 0.3291], "loss/score": [1.515, 0.07779], "loss/width": [3.654, 0.3265], "loss": [17.43, 1.799]}, "trend": {"loss/objectness": [0.7893, 0.616, 0.22], "loss/graspness": [5.176, 0.3782, 0.927], "loss/view": [6.291, 0.3505, 0.944], "loss/score": [1.515, 0.08613, 0.943], "loss/width": [3.654, 0.2502, 0.932], "loss": [17.43, 1.681, 0.904]}, "real_seeds": {"min": 0.369, "mean": 0.911, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1075, 0.1663, 0.2491], [0.1226, 0.17, 0.3223]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.22, "peak_gpu_mib": 1897.1, "seconds": 34.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/ademamix", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=ademamix"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "ademamix", "verdict": "runs", "judge": 2, "config_hash": "6317131fe4cbc8c9", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=ademamix -o recipe__EconomicGrasp__optimizer__ademamix.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__ademamix.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6307], "loss/graspness": [5.216, 0.2763], "loss/view": [6.545, 0.6814], "loss/angle": [3.303, 0.7348], "loss/depth": [2.236, 0.3835], "loss/score": [2.117, 0.6059], "loss/width": [8.756, 0.6703], "loss": [28.96, 3.983]}, "trend": {"loss/objectness": [0.7845, 0.6195, 0.21], "loss/graspness": [5.216, 0.3462, 0.934], "loss/view": [6.545, 0.7093, 0.892], "loss/angle": [3.303, 0.7669, 0.768], "loss/depth": [2.236, 0.4204, 0.812], "loss/score": [2.117, 0.6464, 0.695], "loss/width": [8.756, 0.6944, 0.921], "loss": [28.96, 4.203, 0.855]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.609, -3.15, -2.815], [-3.507, -3.194, -2.545]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.219, "peak_gpu_mib": 2126.0, "seconds": 32.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/ademamix", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=ademamix"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "ademamix", "verdict": "runs", "judge": 2, "config_hash": "80dd9d88d31b79f0", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=ademamix -o recipe__FineGrasp__optimizer__ademamix.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__ademamix.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.646], "loss/graspness": [2.473, 0.29], "loss/view": [5.497, 0.7155], "loss/angle": [1.429, 0.6557], "loss/depth": [2.039, 0.3575], "loss/score": [2.563, 0.587], "loss/width": [4.953, 0.7119], "loss": [19.76, 3.964]}, "trend": {"loss/objectness": [0.8058, 0.654, 0.188], "loss/graspness": [2.473, 0.3202, 0.871], "loss/view": [5.497, 0.745, 0.864], "loss/angle": [1.429, 0.7013, 0.509], "loss/depth": [2.039, 0.3975, 0.805], "loss/score": [2.563, 0.6141, 0.76], "loss/width": [4.953, 0.7066, 0.857], "loss": [19.76, 4.139, 0.791]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.119, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.556, -1.336, -1.154], [-1.54, -1.355, -1.057]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.823, "peak_gpu_mib": 11713.9, "seconds": 76.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/ademamix", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=ademamix"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "ademamix", "verdict": "runs", "judge": 2, "config_hash": "65375840374a7edd", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=ademamix -o recipe__GraspNet-baseline__optimizer__ademamix.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__ademamix.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [511, 213], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5507], "loss/view": [0.2001, 0.07813], "loss/score": [0.05519, 0.03165], "loss/angle": [0.53, 0.4654], "loss/width": [0.6388, 0.2008], "loss/tolerance": [1.188, 0.5572], "loss": [3.374, 1.884]}, "trend": {"loss/objectness": [0.7623, 0.5949, 0.22], "loss/view": [0.2001, 0.08032, 0.599], "loss/score": [0.05519, 0.02973, 0.461], "loss/angle": [0.53, 0.4701, 0.113], "loss/width": [0.6388, 0.1655, 0.741], "loss/tolerance": [1.188, 0.5352, 0.549], "loss": [3.374, 1.876, 0.444]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-54.43, -1.915, 15.7], [-43.15, -1.512, 10.14]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.254, "peak_gpu_mib": 3976.0, "seconds": 13.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/ademamix", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=ademamix"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "ademamix", "verdict": "runs-empty", "judge": 2, "config_hash": "685ee58387c69276", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=ademamix -o recipe__Scale-Balanced-Grasp__optimizer__ademamix.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__ademamix.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3232], "loss/view": [0.2608, 0.1127], "loss/score": [0.05227, 0.02371], "loss/angle": [0.4856, 0.4235], "loss/width": [0.5501, 0.1612], "loss/tolerance": [0.9566, 0.2382], "loss": [3.065, 1.282]}, "trend": {"loss/objectness": [0.7596, 0.3115, 0.59], "loss/view": [0.2608, 0.1263, 0.516], "loss/score": [0.05227, 0.01938, 0.629], "loss/angle": [0.4856, 0.4209, 0.133], "loss/width": [0.5501, 0.1844, 0.665], "loss/tolerance": [0.9566, 0.2789, 0.708], "loss": [3.065, 1.341, 0.562]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.435, "peak_gpu_mib": 9621.8, "seconds": 17.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/ademamix", "group": "recipe", "method": "HGGD", "sets": ["optimizer=ademamix"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "ademamix", "verdict": "runs", "judge": 2, "config_hash": "13f3322ccbcaac4c", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=ademamix -o recipe__HGGD__optimizer__ademamix.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__ademamix.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [312, 281], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 53.48], "loss/angle": [4942.0, 357.3], "loss/offsets": [0.9016, 0.5377], "loss/anchor": [85.42, 19.93], "loss/anchor_offset": [1.376, 0.1888], "loss": [7459.0, 431.5]}, "trend": {"loss/heatmap": [2429.0, 81.25, 0.967], "loss/angle": [4942.0, 363.7, 0.926], "loss/offsets": [0.9016, 0.5909, 0.345], "loss/anchor": [85.42, 25.87, 0.697], "loss/anchor_offset": [1.376, 0.3567, 0.741], "loss": [7459.0, 471.8, 0.937]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.2187, 0.261, 0.3279], [0.2132, 0.2613, 0.3548]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.667, "peak_gpu_mib": 7889.2, "seconds": 25.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/encoder-lr-0.1", "group": "recipe", "method": "GSNet", "sets": ["optimizer=encoder-lr-0.1"], "slot": "optimizer", "component": "ParamGroups", "variant": "encoder-lr-0.1", "verdict": "runs", "judge": 2, "config_hash": "01e5cc5549a1a47c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=encoder-lr-0.1 -o recipe__GSNet__optimizer__encoder-lr-0.1.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__encoder-lr-0.1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [92, 83], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6744], "loss/graspness": [5.176, 0.72], "loss/view": [6.291, 0.3348], "loss/score": [1.515, 0.07883], "loss/width": [3.654, 0.191], "loss": [17.43, 1.999]}, "trend": {"loss/objectness": [0.7893, 0.6925, 0.123], "loss/graspness": [5.176, 0.8197, 0.842], "loss/view": [6.291, 0.3293, 0.948], "loss/score": [1.515, 0.09044, 0.94], "loss/width": [3.654, 0.216, 0.941], "loss": [17.43, 2.148, 0.877]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1643, 0.2052, 0.2526], [0.1473, 0.2014, 0.2719]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.262, "peak_gpu_mib": 1841.5, "seconds": 28.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/encoder-lr-0.1", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=encoder-lr-0.1"], "slot": "optimizer", "component": "ParamGroups", "variant": "encoder-lr-0.1", "verdict": "runs", "judge": 2, "config_hash": "609afffee66e05d3", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=encoder-lr-0.1 -o recipe__EconomicGrasp__optimizer__encoder-lr-0.1.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__encoder-lr-0.1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [21, 28], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6692], "loss/graspness": [5.216, 0.7522], "loss/view": [6.545, 0.6733], "loss/angle": [3.303, 0.7238], "loss/depth": [2.236, 0.4045], "loss/score": [2.117, 0.6204], "loss/width": [8.756, 0.6455], "loss": [28.96, 4.489]}, "trend": {"loss/objectness": [0.7845, 0.684, 0.128], "loss/graspness": [5.216, 0.9122, 0.825], "loss/view": [6.545, 0.6721, 0.897], "loss/angle": [3.303, 0.7386, 0.776], "loss/depth": [2.236, 0.4091, 0.817], "loss/score": [2.117, 0.6364, 0.699], "loss/width": [8.756, 0.707, 0.919], "loss": [28.96, 4.759, 0.836]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.233, -2.615, -2.337], [-3.195, -2.844, -2.565]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 2066.2, "seconds": 28.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/encoder-lr-0.1", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=encoder-lr-0.1"], "slot": "optimizer", "component": "ParamGroups", "variant": "encoder-lr-0.1", "verdict": "runs", "judge": 2, "config_hash": "4e1024ae5e954b66", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=encoder-lr-0.1 -o recipe__FineGrasp__optimizer__encoder-lr-0.1.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__encoder-lr-0.1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 2.5e-05, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [776, 794], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 2.5e-05."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6992], "loss/graspness": [2.473, 0.857], "loss/view": [5.497, 0.7735], "loss/angle": [1.429, 0.7225], "loss/depth": [2.039, 0.3847], "loss/score": [2.563, 0.622], "loss/width": [4.953, 0.7266], "loss": [19.76, 4.786]}, "trend": {"loss/objectness": [0.8058, 0.7071, 0.123], "loss/graspness": [2.473, 0.9479, 0.617], "loss/view": [5.497, 0.8505, 0.845], "loss/angle": [1.429, 0.6915, 0.516], "loss/depth": [2.039, 0.3814, 0.813], "loss/score": [2.563, 0.6007, 0.766], "loss/width": [4.953, 0.7137, 0.856], "loss": [19.76, 4.893, 0.752]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.104, "mean": 0.11, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.478, -1.178, -0.8618], [-1.388, -1.202, -0.9073]], "learning_rate": [2.5e-05, 2.5e-05], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.789, "peak_gpu_mib": 11643.5, "seconds": 84.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/encoder-lr-0.1", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=encoder-lr-0.1"], "slot": "optimizer", "component": "ParamGroups", "variant": "encoder-lr-0.1", "verdict": "runs", "judge": 2, "config_hash": "5e98c42f4ed2f7d3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=encoder-lr-0.1 -o recipe__GraspNet-baseline__optimizer__encoder-lr-0.1.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__encoder-lr-0.1.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [593, 395], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6313], "loss/view": [0.2001, 0.0927], "loss/score": [0.05519, 0.02739], "loss/angle": [0.53, 0.4765], "loss/width": [0.6388, 0.1972], "loss/tolerance": [1.188, 0.5335], "loss": [3.374, 1.959]}, "trend": {"loss/objectness": [0.7623, 0.6394, 0.161], "loss/view": [0.2001, 0.0919, 0.541], "loss/score": [0.05519, 0.03243, 0.412], "loss/angle": [0.53, 0.466, 0.121], "loss/width": [0.6388, 0.1849, 0.711], "loss/tolerance": [1.188, 0.4794, 0.596], "loss": [3.374, 1.894, 0.439]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-23.51, 0.7047, 22.46], [-23.71, 0.3176, 23.84]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.249, "peak_gpu_mib": 3972.1, "seconds": 12.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/encoder-lr-0.1", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=encoder-lr-0.1"], "slot": "optimizer", "component": "ParamGroups", "variant": "encoder-lr-0.1", "verdict": "runs", "judge": 2, "config_hash": "f39b40de3ac90355", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=encoder-lr-0.1 -o recipe__Scale-Balanced-Grasp__optimizer__encoder-lr-0.1.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__encoder-lr-0.1.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.0001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [2, 17], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3268], "loss/view": [0.2608, 0.1151], "loss/score": [0.05227, 0.0242], "loss/angle": [0.4856, 0.4303], "loss/width": [0.5501, 0.1402], "loss/tolerance": [0.9566, 0.2866], "loss": [3.065, 1.323]}, "trend": {"loss/objectness": [0.7596, 0.3094, 0.593], "loss/view": [0.2608, 0.1307, 0.499], "loss/score": [0.05227, 0.02096, 0.599], "loss/angle": [0.4856, 0.4086, 0.159], "loss/width": [0.5501, 0.1663, 0.698], "loss/tolerance": [0.9566, 0.284, 0.703], "loss": [3.065, 1.32, 0.569]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-1.671, -0.4759, 0.7194], [-1.497, -0.5088, 3.126]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.392, "peak_gpu_mib": 9615.8, "seconds": 15.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/layer-decay", "group": "recipe", "method": "GSNet", "sets": ["optimizer=layer-decay"], "slot": "optimizer", "component": "ParamGroups", "variant": "layer-decay", "verdict": "runs", "judge": 2, "config_hash": "c55d9620335da18a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=layer-decay -o recipe__GSNet__optimizer__layer-decay.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__layer-decay.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 4.228e-06, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6329], "loss/graspness": [5.176, 0.4456], "loss/view": [6.291, 0.34], "loss/score": [1.515, 0.08123], "loss/width": [3.654, 0.1799], "loss": [17.43, 1.68]}, "trend": {"loss/objectness": [0.7893, 0.6573, 0.167], "loss/graspness": [5.176, 0.61, 0.882], "loss/view": [6.291, 0.4279, 0.932], "loss/score": [1.515, 0.09722, 0.936], "loss/width": [3.654, 0.2067, 0.943], "loss": [17.43, 1.999, 0.885]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.0967, 0.1729, 0.2994], [0.08242, 0.173, 0.3105]], "learning_rate": [4.228e-06, 4.228e-06], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 1841.5, "seconds": 31.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/layer-decay", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=layer-decay"], "slot": "optimizer", "component": "ParamGroups", "variant": "layer-decay", "verdict": "runs", "judge": 2, "config_hash": "210869d476420904", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=layer-decay -o recipe__EconomicGrasp__optimizer__layer-decay.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__layer-decay.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 4.228e-06, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6694], "loss/graspness": [5.216, 0.5304], "loss/view": [6.545, 0.6672], "loss/angle": [3.303, 0.9765], "loss/depth": [2.236, 0.4697], "loss/score": [2.117, 0.8048], "loss/width": [8.756, 0.7792], "loss": [28.96, 4.897]}, "trend": {"loss/objectness": [0.7845, 0.682, 0.131], "loss/graspness": [5.216, 0.5302, 0.898], "loss/view": [6.545, 0.6832, 0.896], "loss/angle": [3.303, 0.7519, 0.772], "loss/depth": [2.236, 0.4212, 0.812], "loss/score": [2.117, 0.6607, 0.688], "loss/width": [8.756, 0.7401, 0.915], "loss": [28.96, 4.469, 0.846]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.124, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.203, -2.95, -2.439], [-3.224, -2.987, -2.625]], "learning_rate": [4.228e-06, 4.228e-06], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.465, "peak_gpu_mib": 2066.2, "seconds": 39.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/layer-decay", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=layer-decay"], "slot": "optimizer", "component": "ParamGroups", "variant": "layer-decay", "verdict": "runs", "judge": 2, "config_hash": "76c5f68c0e31a898", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=layer-decay -o recipe__FineGrasp__optimizer__layer-decay.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__layer-decay.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 1.057e-06, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [575, 665], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 1.057e-06."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6619], "loss/graspness": [2.473, 0.3737], "loss/view": [5.497, 0.7335], "loss/angle": [1.429, 0.6711], "loss/depth": [2.039, 0.4223], "loss/score": [2.563, 0.5983], "loss/width": [4.953, 0.6888], "loss": [19.76, 4.15]}, "trend": {"loss/objectness": [0.8058, 0.6719, 0.166], "loss/graspness": [2.473, 0.4424, 0.821], "loss/view": [5.497, 0.7997, 0.855], "loss/angle": [1.429, 0.686, 0.52], "loss/depth": [2.039, 0.3991, 0.804], "loss/score": [2.563, 0.5964, 0.767], "loss/width": [4.953, 0.6866, 0.861], "loss": [19.76, 4.282, 0.783]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.499, -1.273, -0.8042], [-1.406, -1.266, -0.7498]], "learning_rate": [1.057e-06, 1.057e-06], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.735, "peak_gpu_mib": 11643.5, "seconds": 84.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/layer-decay", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=layer-decay"], "slot": "optimizer", "component": "ParamGroups", "variant": "layer-decay", "verdict": "runs", "judge": 2, "config_hash": "4f2888192e53db5f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=layer-decay -o recipe__GraspNet-baseline__optimizer__layer-decay.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__layer-decay.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.000178, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [598, 353], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5766], "loss/view": [0.2001, 0.08143], "loss/score": [0.05519, 0.03176], "loss/angle": [0.53, 0.4766], "loss/width": [0.6388, 0.2391], "loss/tolerance": [1.188, 0.6376], "loss": [3.374, 2.043]}, "trend": {"loss/objectness": [0.7623, 0.5978, 0.216], "loss/view": [0.2001, 0.08428, 0.579], "loss/score": [0.05519, 0.03247, 0.412], "loss/angle": [0.53, 0.4605, 0.131], "loss/width": [0.6388, 0.185, 0.71], "loss/tolerance": [1.188, 0.4314, 0.637], "loss": [3.374, 1.791, 0.469]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-25.45, 0.2245, 34.95], [-18.18, -0.2833, 17.91]], "learning_rate": [0.000178, 0.000178], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.228, "peak_gpu_mib": 3972.1, "seconds": 12.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/layer-decay", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=layer-decay"], "slot": "optimizer", "component": "ParamGroups", "variant": "layer-decay", "verdict": "runs", "judge": 2, "config_hash": "4ee57132454cc48c", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=layer-decay -o recipe__Scale-Balanced-Grasp__optimizer__layer-decay.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__layer-decay.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 1.002e-05, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 27], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3251], "loss/view": [0.2608, 0.1144], "loss/score": [0.05227, 0.0235], "loss/angle": [0.4856, 0.4359], "loss/width": [0.5501, 0.138], "loss/tolerance": [0.9566, 0.2834], "loss": [3.065, 1.32]}, "trend": {"loss/objectness": [0.7596, 0.3079, 0.595], "loss/view": [0.2608, 0.1303, 0.5], "loss/score": [0.05227, 0.02049, 0.608], "loss/angle": [0.4856, 0.4181, 0.139], "loss/width": [0.5501, 0.1557, 0.717], "loss/tolerance": [0.9566, 0.2639, 0.724], "loss": [3.065, 1.296, 0.577]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[2.371, 2.371, 2.371], [-2.471, -0.1048, 7.547]], "learning_rate": [1.002e-05, 1.002e-05], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.418, "peak_gpu_mib": 9615.8, "seconds": 16.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/prodigy", "group": "recipe", "method": "GSNet", "sets": ["optimizer=prodigy"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "prodigy", "verdict": "runs", "judge": 2, "config_hash": "19e695b9fa360bc7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=prodigy -o recipe__GSNet__optimizer__prodigy.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__prodigy.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 1.0, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 894], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6945], "loss/graspness": [5.176, 0.6586], "loss/view": [6.291, 0.6923], "loss/score": [1.515, 0.26], "loss/width": [3.654, 0.5447], "loss": [17.43, 2.85]}, "trend": {"loss/objectness": [0.7893, 0.7221, 0.085], "loss/graspness": [5.176, 0.9717, 0.812], "loss/view": [6.291, 1.184, 0.812], "loss/score": [1.515, 0.2899, 0.809], "loss/width": [3.654, 0.7188, 0.803], "loss": [17.43, 3.887, 0.777]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1221, 0.2771, 0.4373], [0.1684, 0.2641, 0.428]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.363, "peak_gpu_mib": 1957.0, "seconds": 33.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/prodigy", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=prodigy"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "prodigy", "verdict": "runs", "judge": 2, "config_hash": "2192ce9cce49bebc", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=prodigy -o recipe__EconomicGrasp__optimizer__prodigy.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__prodigy.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 1.0, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [45, 66], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.7489], "loss/graspness": [5.216, 1.667], "loss/view": [6.545, 2.204], "loss/angle": [3.303, 1.471], "loss/depth": [2.236, 0.7642], "loss/score": [2.117, 1.021], "loss/width": [8.756, 1.584], "loss": [28.96, 9.459]}, "trend": {"loss/objectness": [0.7845, 0.7581, 0.034], "loss/graspness": [5.216, 1.839, 0.647], "loss/view": [6.545, 2.653, 0.595], "loss/angle": [3.303, 1.894, 0.427], "loss/depth": [2.236, 1.052, 0.529], "loss/score": [2.117, 1.229, 0.419], "loss/width": [8.756, 2.072, 0.763], "loss": [28.96, 11.5, 0.603]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.085, "mean": 0.104, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-0.7326, -0.2368, 0.4854], [-0.8439, -0.3177, 0.3569]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 2185.7, "seconds": 30.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/prodigy", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=prodigy"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "prodigy", "verdict": "runs", "judge": 2, "config_hash": "32d9ac904c83ccbd", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=prodigy -o recipe__FineGrasp__optimizer__prodigy.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__prodigy.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.25, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.25."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.782], "loss/graspness": [2.473, 1.724], "loss/view": [5.497, 4.229], "loss/angle": [1.429, 0.9899], "loss/depth": [2.039, 1.021], "loss/score": [2.563, 1.576], "loss/width": [4.953, 0.8993], "loss": [19.76, 11.22]}, "trend": {"loss/objectness": [0.8058, 0.7891, 0.021], "loss/graspness": [2.473, 1.797, 0.274], "loss/view": [5.497, 4.534, 0.175], "loss/angle": [1.429, 1.088, 0.238], "loss/depth": [2.039, 1.345, 0.34], "loss/score": [2.563, 1.847, 0.279], "loss/width": [4.953, 1.165, 0.765], "loss": [19.76, 12.57, 0.364]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.101, "mean": 0.105, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.3709, 1.158, 1.976], [0.3567, 1.181, 1.944]], "learning_rate": [0.25, 0.25], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.804, "peak_gpu_mib": 11789.7, "seconds": 84.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/prodigy", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=prodigy"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "prodigy", "verdict": "runs", "judge": 2, "config_hash": "02fb72d5d03fe362", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=prodigy -o recipe__GraspNet-baseline__optimizer__prodigy.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__prodigy.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 1.0, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [476, 395], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6141], "loss/view": [0.2001, 0.1282], "loss/score": [0.05519, 0.04367], "loss/angle": [0.53, 0.514], "loss/width": [0.6388, 0.3501], "loss/tolerance": [1.188, 0.6269], "loss": [3.374, 2.277]}, "trend": {"loss/objectness": [0.7623, 0.653, 0.143], "loss/view": [0.2001, 0.1327, 0.337], "loss/score": [0.05519, 0.05099, 0.076], "loss/angle": [0.53, 0.5236, 0.012], "loss/width": [0.6388, 0.3402, 0.467], "loss/tolerance": [1.188, 0.7302, 0.385], "loss": [3.374, 2.431, 0.28]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-37.78, -0.1714, 20.14], [-23.89, -0.02339, 21.86]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.294, "peak_gpu_mib": 3979.9, "seconds": 14.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/prodigy", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=prodigy"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "prodigy", "verdict": "runs", "judge": 2, "config_hash": "1a1ced18809a307f", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=prodigy -o recipe__Scale-Balanced-Grasp__optimizer__prodigy.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__prodigy.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [360, 666], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "schedule constant: OneCycleLR of the recipe peaks at 0.001, not at the rate of the optimizer (1): the probe trained at 0.001 (1 parameter group(s) raised). With `scheduler=null`, `grasppanda train` would use the optimizer's rate."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.7698], "loss/view": [0.2608, 0.2598], "loss/score": [0.05227, 0.05094], "loss/angle": [0.4856, 0.5161], "loss/width": [0.5501, 0.5372], "loss/tolerance": [0.9566, 1.27], "loss": [3.065, 3.404]}, "trend": {"loss/objectness": [0.7596, 0.7698, -0.013], "loss/view": [0.2608, 0.2672, -0.025], "loss/score": [0.05227, 0.03768, 0.279], "loss/angle": [0.4856, 0.49, -0.009], "loss/width": [0.5501, 0.5375, 0.023], "loss/tolerance": [0.9566, 1.103, -0.153], "loss": [3.065, 3.205, -0.046]}, "flags": {"loss/objectness": ["flat"], "loss/view": ["flat"], "loss/angle": ["flat"], "loss/width": ["flat"], "loss": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": ["backbone", "grouper", "head"], "checked": [14, 4], "score_quantiles": [[-5.336, 0.3242, 9.578], [-18.39, 0.1749, 10.94]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.468, "peak_gpu_mib": 9627.8, "seconds": 18.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/prodigy", "group": "recipe", "method": "HGGD", "sets": ["optimizer=prodigy"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "prodigy", "verdict": "runs", "judge": 2, "config_hash": "29fe5348031450b9", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=prodigy -o recipe__HGGD__optimizer__prodigy.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__prodigy.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 1.0, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [257, 278], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 1269.0], "loss/angle": [4942.0, 1143.0], "loss/offsets": [0.9016, 0.713], "loss/anchor": [85.42, 57.7], "loss/anchor_offset": [1.376, 1.002], "loss": [7459.0, 2471.0]}, "trend": {"loss/heatmap": [2429.0, 1656.0, 0.318], "loss/angle": [4942.0, 1430.0, 0.711], "loss/offsets": [0.9016, 0.7863, 0.128], "loss/anchor": [85.42, 68.18, 0.202], "loss/anchor_offset": [1.376, 1.245, 0.095], "loss": [7459.0, 3156.0, 0.577]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.5119, 0.5924, 0.779], [0.5134, 0.5934, 0.7795]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.843, "peak_gpu_mib": 6863.2, "seconds": 26.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/schedulefree-adamw", "group": "recipe", "method": "GSNet", "sets": ["optimizer=schedulefree-adamw"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-adamw", "verdict": "runs", "judge": 2, "config_hash": "6f33cc17febbfee1", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=schedulefree-adamw -o recipe__GSNet__optimizer__schedulefree-adamw.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__schedulefree-adamw.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [170, 154], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.7235], "loss/graspness": [5.176, 1.291], "loss/view": [6.291, 2.001], "loss/score": [1.515, 0.3306], "loss/width": [3.654, 0.9323], "loss": [17.43, 5.279]}, "trend": {"loss/objectness": [0.7893, 0.7388, 0.064], "loss/graspness": [5.176, 1.397, 0.73], "loss/view": [6.291, 2.235, 0.645], "loss/score": [1.515, 0.4352, 0.713], "loss/width": [3.654, 1.337, 0.634], "loss": [17.43, 6.143, 0.647]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1279, 0.2315, 0.3254], [0.1394, 0.2271, 0.4076]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.261, "peak_gpu_mib": 1841.5, "seconds": 32.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/schedulefree-adamw", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=schedulefree-adamw"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-adamw", "verdict": "runs", "judge": 2, "config_hash": "b570ac8686aa0622", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=schedulefree-adamw -o recipe__EconomicGrasp__optimizer__schedulefree-adamw.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__schedulefree-adamw.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [155, 169], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.7379], "loss/graspness": [5.216, 1.573], "loss/view": [6.545, 2.689], "loss/angle": [3.303, 1.355], "loss/depth": [2.236, 0.7087], "loss/score": [2.117, 0.9806], "loss/width": [8.756, 0.8735], "loss": [28.96, 8.918]}, "trend": {"loss/objectness": [0.7845, 0.7527, 0.041], "loss/graspness": [5.216, 1.668, 0.68], "loss/view": [6.545, 2.917, 0.554], "loss/angle": [3.303, 1.588, 0.519], "loss/depth": [2.236, 0.8568, 0.617], "loss/score": [2.117, 1.081, 0.489], "loss/width": [8.756, 0.8599, 0.902], "loss": [28.96, 9.723, 0.664]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.091, "mean": 0.11, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.14, -0.1783, 0.3003], [-0.6228, -0.2207, 0.5373]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.179, "peak_gpu_mib": 2066.2, "seconds": 29.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/schedulefree-adamw", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=schedulefree-adamw"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-adamw", "verdict": "runs", "judge": 2, "config_hash": "89253e1f71622843", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=schedulefree-adamw -o recipe__FineGrasp__optimizer__schedulefree-adamw.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__schedulefree-adamw.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6919], "loss/graspness": [2.473, 0.5999], "loss/view": [5.497, 1.485], "loss/angle": [1.429, 0.684], "loss/depth": [2.039, 0.3872], "loss/score": [2.563, 0.5897], "loss/width": [4.953, 0.7336], "loss": [19.76, 5.171]}, "trend": {"loss/objectness": [0.8058, 0.7033, 0.127], "loss/graspness": [2.473, 0.7298, 0.705], "loss/view": [5.497, 1.734, 0.685], "loss/angle": [1.429, 0.6986, 0.511], "loss/depth": [2.039, 0.3909, 0.808], "loss/score": [2.563, 0.6036, 0.765], "loss/width": [4.953, 0.8236, 0.834], "loss": [19.76, 5.684, 0.712]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.111, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.192, -0.3201, 0.367], [-0.8602, -0.2956, 0.3606]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.767, "peak_gpu_mib": 11643.5, "seconds": 79.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/schedulefree-adamw", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=schedulefree-adamw"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-adamw", "verdict": "runs", "judge": 2, "config_hash": "a813ea3266eab33f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=schedulefree-adamw -o recipe__GraspNet-baseline__optimizer__schedulefree-adamw.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__schedulefree-adamw.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [630, 642], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6487], "loss/view": [0.2001, 0.1532], "loss/score": [0.05519, 0.06515], "loss/angle": [0.53, 0.5119], "loss/width": [0.6388, 0.4468], "loss/tolerance": [1.188, 0.9313], "loss": [3.374, 2.757]}, "trend": {"loss/objectness": [0.7623, 0.6768, 0.112], "loss/view": [0.2001, 0.1528, 0.236], "loss/score": [0.05519, 0.06562, -0.189], "loss/angle": [0.53, 0.5254, 0.009], "loss/width": [0.6388, 0.4507, 0.295], "loss/tolerance": [1.188, 0.914, 0.231], "loss": [3.374, 2.785, 0.175]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-31.44, -3.109, 17.98], [-32.73, -2.126, 21.3]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.223, "peak_gpu_mib": 3972.1, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/schedulefree-adamw", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=schedulefree-adamw"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-adamw", "verdict": "runs", "judge": 2, "config_hash": "709b49f879df04d9", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=schedulefree-adamw -o recipe__Scale-Balanced-Grasp__optimizer__schedulefree-adamw.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__schedulefree-adamw.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [211, 403], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.6008], "loss/view": [0.2608, 0.2024], "loss/score": [0.05227, 0.04721], "loss/angle": [0.4856, 0.4899], "loss/width": [0.5501, 0.3776], "loss/tolerance": [0.9566, 0.7005], "loss": [3.065, 2.418]}, "trend": {"loss/objectness": [0.7596, 0.6282, 0.173], "loss/view": [0.2608, 0.2172, 0.167], "loss/score": [0.05227, 0.03721, 0.288], "loss/angle": [0.4856, 0.4659, 0.041], "loss/width": [0.5501, 0.3835, 0.303], "loss/tolerance": [0.9566, 0.7306, 0.236], "loss": [3.065, 2.463, 0.197]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-5.404, -0.2151, 5.32], [-10.13, 0.01568, 6.222]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.383, "peak_gpu_mib": 9615.8, "seconds": 16.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/schedulefree-adamw", "group": "recipe", "method": "HGGD", "sets": ["optimizer=schedulefree-adamw"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-adamw", "verdict": "runs", "judge": 2, "config_hash": "79827d58767921f4", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=schedulefree-adamw -o recipe__HGGD__optimizer__schedulefree-adamw.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__schedulefree-adamw.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [241, 173], "frames": 8, "losses": {"loss/heatmap": [2429.0, 2089.0], "loss/angle": [4942.0, 2092.0], "loss/offsets": [0.9016, 0.7997], "loss/anchor": [85.42, 72.61], "loss/anchor_offset": [1.376, 1.393], "loss": [7459.0, 4255.0]}, "trend": {"loss/heatmap": [2429.0, 2165.0, 0.109], "loss/angle": [4942.0, 1971.0, 0.601], "loss/offsets": [0.9016, 0.8483, 0.059], "loss/anchor": [85.42, 86.91, -0.017], "loss/anchor_offset": [1.376, 1.382, -0.005], "loss": [7459.0, 4225.0, 0.434]}, "flags": {"loss/anchor": ["flat"], "loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.6377, 0.6958, 0.8624], [0.6436, 0.7058, 0.8675]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.654, "peak_gpu_mib": 6508.3, "seconds": 23.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/schedulefree-radam", "group": "recipe", "method": "GSNet", "sets": ["optimizer=schedulefree-radam"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-radam", "verdict": "runs", "judge": 2, "config_hash": "b6a912b2c33ed2ba", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=schedulefree-radam -o recipe__GSNet__optimizer__schedulefree-radam.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__schedulefree-radam.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [215, 180], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.7303], "loss/graspness": [5.176, 1.413], "loss/view": [6.291, 2.181], "loss/score": [1.515, 0.414], "loss/width": [3.654, 1.366], "loss": [17.43, 6.104]}, "trend": {"loss/objectness": [0.7893, 0.7453, 0.056], "loss/graspness": [5.176, 1.52, 0.706], "loss/view": [6.291, 2.436, 0.613], "loss/score": [1.515, 0.5359, 0.646], "loss/width": [3.654, 1.676, 0.541], "loss": [17.43, 6.913, 0.603]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1415, 0.2513, 0.3307], [0.1511, 0.2484, 0.3809]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.335, "peak_gpu_mib": 1841.5, "seconds": 32.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/schedulefree-radam", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=schedulefree-radam"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-radam", "verdict": "runs", "judge": 2, "config_hash": "04374c32eefeb789", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=schedulefree-radam -o recipe__EconomicGrasp__optimizer__schedulefree-radam.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__schedulefree-radam.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [169, 192], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.7447], "loss/graspness": [5.216, 1.685], "loss/view": [6.545, 2.893], "loss/angle": [3.303, 1.572], "loss/depth": [2.236, 0.8232], "loss/score": [2.117, 1.099], "loss/width": [8.756, 0.9159], "loss": [28.96, 9.733]}, "trend": {"loss/objectness": [0.7845, 0.7586, 0.033], "loss/graspness": [5.216, 1.787, 0.657], "loss/view": [6.545, 3.157, 0.518], "loss/angle": [3.303, 1.831, 0.446], "loss/depth": [2.236, 0.9838, 0.56], "loss/score": [2.117, 1.213, 0.427], "loss/width": [8.756, 0.8631, 0.901], "loss": [28.96, 10.59, 0.634]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.082, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.099, 0.007812, 0.9459], [-0.5927, -0.06773, 0.7474]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.184, "peak_gpu_mib": 2066.2, "seconds": 29.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/schedulefree-radam", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=schedulefree-radam"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-radam", "verdict": "runs", "judge": 2, "config_hash": "fefbce5f34143032", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=schedulefree-radam -o recipe__FineGrasp__optimizer__schedulefree-radam.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__schedulefree-radam.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6983], "loss/graspness": [2.473, 0.6802], "loss/view": [5.497, 1.563], "loss/angle": [1.429, 0.7526], "loss/depth": [2.039, 0.3863], "loss/score": [2.563, 0.622], "loss/width": [4.953, 0.782], "loss": [19.76, 5.484]}, "trend": {"loss/objectness": [0.8058, 0.7099, 0.119], "loss/graspness": [2.473, 0.8095, 0.673], "loss/view": [5.497, 1.832, 0.667], "loss/angle": [1.429, 0.7224, 0.495], "loss/depth": [2.039, 0.3871, 0.81], "loss/score": [2.563, 0.6165, 0.759], "loss/width": [4.953, 0.8194, 0.835], "loss": [19.76, 5.897, 0.702]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.105, "mean": 0.11, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.6332, -0.1602, 0.441], [-0.7903, -0.19, 0.8545]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.825, "peak_gpu_mib": 11643.5, "seconds": 80.4}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/schedulefree-radam", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=schedulefree-radam"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-radam", "verdict": "runs", "judge": 2, "config_hash": "c07f8f57dd01d58a", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=schedulefree-radam -o recipe__GraspNet-baseline__optimizer__schedulefree-radam.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__schedulefree-radam.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [621, 594], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6541], "loss/view": [0.2001, 0.1578], "loss/score": [0.05519, 0.05469], "loss/angle": [0.53, 0.5194], "loss/width": [0.6388, 0.5708], "loss/tolerance": [1.188, 0.8659], "loss": [3.374, 2.823]}, "trend": {"loss/objectness": [0.7623, 0.6793, 0.109], "loss/view": [0.2001, 0.1571, 0.215], "loss/score": [0.05519, 0.05745, -0.041], "loss/angle": [0.53, 0.512, 0.034], "loss/width": [0.6388, 0.4784, 0.251], "loss/tolerance": [1.188, 0.9746, 0.18], "loss": [3.374, 2.859, 0.153]}, "flags": {"loss/score": ["flat"], "loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-33.35, -4.275, 18.19], [-30.61, -2.744, 17.69]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.254, "peak_gpu_mib": 3972.1, "seconds": 12.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/schedulefree-radam", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=schedulefree-radam"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-radam", "verdict": "runs", "judge": 2, "config_hash": "86f9b886ff5e4dbb", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=schedulefree-radam -o recipe__Scale-Balanced-Grasp__optimizer__schedulefree-radam.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__schedulefree-radam.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [294, 530], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.6225], "loss/view": [0.2608, 0.2094], "loss/score": [0.05227, 0.04086], "loss/angle": [0.4856, 0.4943], "loss/width": [0.5501, 0.3973], "loss/tolerance": [0.9566, 0.784], "loss": [3.065, 2.548]}, "trend": {"loss/objectness": [0.7596, 0.6476, 0.147], "loss/view": [0.2608, 0.2238, 0.142], "loss/score": [0.05227, 0.03424, 0.345], "loss/angle": [0.4856, 0.4742, 0.023], "loss/width": [0.5501, 0.3996, 0.274], "loss/tolerance": [0.9566, 0.7582, 0.207], "loss": [3.065, 2.538, 0.172]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-5.674, -0.1544, 6.36], [-11.29, -0.01016, 8.18]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.444, "peak_gpu_mib": 9615.8, "seconds": 16.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/schedulefree-radam", "group": "recipe", "method": "HGGD", "sets": ["optimizer=schedulefree-radam"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-radam", "verdict": "runs", "judge": 2, "config_hash": "31f7c9d2e58654c6", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=schedulefree-radam -o recipe__HGGD__optimizer__schedulefree-radam.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__schedulefree-radam.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [250, 184], "frames": 8, "losses": {"loss/heatmap": [2429.0, 2242.0], "loss/angle": [4942.0, 2291.0], "loss/offsets": [0.9016, 0.8402], "loss/anchor": [85.42, 83.25], "loss/anchor_offset": [1.376, 1.5], "loss": [7459.0, 4619.0]}, "trend": {"loss/heatmap": [2429.0, 2319.0, 0.046], "loss/angle": [4942.0, 2145.0, 0.566], "loss/offsets": [0.9016, 0.8726, 0.032], "loss/anchor": [85.42, 99.23, -0.162], "loss/anchor_offset": [1.376, 1.412, -0.026], "loss": [7459.0, 4565.0, 0.388]}, "flags": {"loss/heatmap": ["flat"], "loss/offsets": ["flat"], "loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.6576, 0.7066, 0.8709], [0.6476, 0.7233, 0.8846]], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.67, "peak_gpu_mib": 6339.7, "seconds": 24.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/schedulefree-sgd", "group": "recipe", "method": "GSNet", "sets": ["optimizer=schedulefree-sgd"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-sgd", "verdict": "runs-unstable", "judge": 2, "config_hash": "b14cc69cf59211f3", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=schedulefree-sgd -o recipe__GSNet__optimizer__schedulefree-sgd.yaml", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "probe": "grasppanda probe recipe__GSNet__optimizer__schedulefree-sgd.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.7893, 0.6824], "loss/graspness": [5.176, 0.5549], "loss/view": [6.291, 0.4418], "loss/score": [1.515, 0.06539], "loss/width": [3.654, 0.3012], "loss": [17.43, 2.046]}, "trend": {"loss/objectness": [0.7893, 0.6893, 0.127], "loss/graspness": [5.176, 0.8945, 0.827], "loss/view": [6.291, 0.5437, 0.914], "loss/score": [1.515, 0.08357, 0.945], "loss/width": [3.654, 0.5354, 0.853], "loss": [17.43, 2.747, 0.842]}, "active": {"loss/view": 19, "loss/score": 19, "loss/width": 19}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.05712, 0.08408, 0.1196], [0.05754, 0.08071, 0.1151]]}, "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6767], "loss/graspness": [5.176, 0.6977], "loss/view": [6.291, 0.474], "loss/score": [1.515, 0.05615], "loss/width": [3.654, 0.8204], "loss": [17.43, 2.725]}, "trend": {"loss/objectness": [0.7893, 0.6886, 0.128], "loss/graspness": [5.176, 0.5751, 0.889], "loss/view": [6.291, 0.5075, 0.919], "loss/score": [1.515, 0.1099, 0.927], "loss/width": [3.654, 0.7983, 0.782], "loss": [17.43, 2.679, 0.846]}, "active": {"loss/view": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.0, "mean": 0.91, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.925, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.0534, 0.07543, 0.1102], [0.05275, 0.07677, 0.1279]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.341, "peak_gpu_mib": 1779.3, "seconds": 30.4}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/schedulefree-sgd", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=schedulefree-sgd"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-sgd", "verdict": "runs-unstable", "judge": 2, "config_hash": "40372e50fdf1f909", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=schedulefree-sgd -o recipe__EconomicGrasp__optimizer__schedulefree-sgd.yaml", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__schedulefree-sgd.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.7845, 0.6627], "loss/graspness": [5.216, 0.3014], "loss/view": [6.545, 0.7505], "loss/angle": [3.303, 0.7456], "loss/depth": [2.236, 0.4217], "loss/score": [2.117, 0.675], "loss/width": [8.756, 1.38], "loss": [28.96, 4.937]}, "trend": {"loss/objectness": [0.7845, 0.6634, 0.154], "loss/graspness": [5.216, 0.4119, 0.921], "loss/view": [6.545, 0.8806, 0.865], "loss/angle": [3.303, 0.7823, 0.763], "loss/depth": [2.236, 0.4472, 0.8], "loss/score": [2.117, 0.6736, 0.682], "loss/width": [8.756, 0.8905, 0.898], "loss": [28.96, 4.749, 0.836]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.61, -2.064, -1.239], [-2.57, -1.96, -1.25]]}, "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6603], "loss/graspness": [5.216, 0.2471], "loss/view": [6.545, 0.7381], "loss/angle": [3.303, 0.7293], "loss/depth": [2.236, 0.3861], "loss/score": [2.117, 0.629], "loss/width": [8.756, 0.6555], "loss": [28.96, 4.045]}, "trend": {"loss/objectness": [0.7845, 0.6618, 0.156], "loss/graspness": [5.216, 0.3922, 0.925], "loss/view": [6.545, 0.8333, 0.873], "loss/angle": [3.303, 0.8079, 0.755], "loss/depth": [2.236, 0.4563, 0.796], "loss/score": [2.117, 0.6774, 0.68], "loss/width": [8.756, 0.6791, 0.922], "loss": [28.96, 4.508, 0.844]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "real_seeds": {"min": 0.0, "mean": 0.88, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.11, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.49, -1.944, -1.332], [-2.472, -1.818, -1.119]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.216, "peak_gpu_mib": 2002.7, "seconds": 30.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/schedulefree-sgd", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=schedulefree-sgd"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-sgd", "verdict": "runs-unstable", "judge": 2, "config_hash": "b320d7a1d406a94e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=schedulefree-sgd -o recipe__FineGrasp__optimizer__schedulefree-sgd.yaml", "unstable": "3 of 20 iterations had no real seed (iteration 15, 17, 19). No grasp was predicted on any probed frame.", "probe": "grasppanda probe recipe__FineGrasp__optimizer__schedulefree-sgd.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 14, 16). No grasp was predicted on any probed frame.", "judge": 2, "iterations": 20, "grasps_per_frame": [0, 0], "losses": {"loss/objectness": [0.8058, 0.7403], "loss/graspness": [2.473, 1.15], "loss/view": [5.497, 2.296], "loss/angle": [1.429, 0.7096], "loss/depth": [2.039, 0.3574], "loss/score": [2.563, 0.6212], "loss/width": [4.953, 0.6324], "loss": [19.76, 6.507]}, "trend": {"loss/objectness": [0.8058, 0.7526, 0.066], "loss/graspness": [2.473, 5.195, -1.101], "loss/view": [5.497, 2.889, 0.474], "loss/angle": [1.429, 0.7378, 0.484], "loss/depth": [2.039, 0.3742, 0.816], "loss/score": [2.563, 0.6266, 0.756], "loss/width": [4.953, 2.131, 0.57], "loss": [19.76, 10.05, 0.491]}, "active": {"loss/view": 18, "loss/angle": 17, "loss/depth": 17, "loss/score": 17, "loss/width": 17}, "flags": {"loss/graspness": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [null, null]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.7464], "loss/graspness": [2.473, 3.733], "loss/view": [5.497, 2.447], "loss/angle": [1.429, 0.6825], "loss/depth": [2.039, 0.4052], "loss/score": [2.563, 0.6044], "loss/width": [4.953, 0.6323], "loss": [19.76, 9.25]}, "trend": {"loss/objectness": [0.8058, 0.7529, 0.066], "loss/graspness": [2.473, 7.812, -2.159], "loss/view": [5.497, 2.657, 0.517], "loss/angle": [1.429, 0.6758, 0.527], "loss/depth": [2.039, 0.3388, 0.834], "loss/score": [2.563, 0.5498, 0.785], "loss/width": [4.953, 0.8123, 0.836], "loss": [19.76, 11.52, 0.417]}, "active": {"loss/view": 17, "loss/angle": 17, "loss/depth": 17, "loss/score": 17, "loss/width": 17}, "flags": {"loss/graspness": ["rising"]}, "real_seeds": {"min": 0.0, "mean": 0.715, "zero_iterations": 3}, "supervised_seeds": {"min": 0.0, "mean": 0.091, "zero_iterations": 3}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [null, null], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.664, "peak_gpu_mib": 11569.9, "seconds": 75.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/schedulefree-sgd", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=schedulefree-sgd"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-sgd", "verdict": "runs", "judge": 2, "config_hash": "166b78c74926e8fd", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=schedulefree-sgd -o recipe__GraspNet-baseline__optimizer__schedulefree-sgd.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__schedulefree-sgd.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [353, 347], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.66], "loss/view": [0.2001, 0.1813], "loss/score": [0.05519, 0.03878], "loss/angle": [0.53, 0.4902], "loss/width": [0.6388, 0.2059], "loss/tolerance": [1.188, 0.7136], "loss": [3.374, 2.29]}, "trend": {"loss/objectness": [0.7623, 0.6676, 0.124], "loss/view": [0.2001, 0.1746, 0.128], "loss/score": [0.05519, 0.04962, 0.101], "loss/angle": [0.53, 0.4924, 0.071], "loss/width": [0.6388, 0.2433, 0.619], "loss/tolerance": [1.188, 0.731, 0.385], "loss": [3.374, 2.359, 0.301]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-44.19, -1.317, 16.61], [-24.24, -2.211, 12.81]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.212, "peak_gpu_mib": 3968.2, "seconds": 11.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/schedulefree-sgd", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=schedulefree-sgd"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-sgd", "verdict": "runs-empty", "judge": 2, "config_hash": "3514e1b84c9c7212", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=schedulefree-sgd -o recipe__Scale-Balanced-Grasp__optimizer__schedulefree-sgd.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__schedulefree-sgd.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3619], "loss/view": [0.2608, 0.216], "loss/score": [0.05227, 0.0307], "loss/angle": [0.4856, 0.4829], "loss/width": [0.5501, 0.2266], "loss/tolerance": [0.9566, 0.4703], "loss": [3.065, 1.788]}, "trend": {"loss/objectness": [0.7596, 0.3389, 0.554], "loss/view": [0.2608, 0.2313, 0.113], "loss/score": [0.05227, 0.02816, 0.461], "loss/angle": [0.4856, 0.4791, 0.013], "loss/width": [0.5501, 0.3176, 0.423], "loss/tolerance": [0.9566, 0.4948, 0.483], "loss": [3.065, 1.89, 0.383]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.415, "peak_gpu_mib": 9609.8, "seconds": 16.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/schedulefree-sgd", "group": "recipe", "method": "HGGD", "sets": ["optimizer=schedulefree-sgd"], "slot": "optimizer", "component": "ScheduleFree, ScheduleFreeHook", "variant": "schedulefree-sgd", "verdict": "runs", "judge": 2, "config_hash": "5f09ccc82369769c", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=schedulefree-sgd -o recipe__HGGD__optimizer__schedulefree-sgd.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__schedulefree-sgd.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [173, 142], "frames": 8, "losses": {"loss/heatmap": [2429.0, 101.0], "loss/angle": [4942.0, 89.28], "loss/offsets": [0.9016, 0.6209], "loss/anchor": [85.42, 1.567], "loss/anchor_offset": [1.376, 0.6851], "loss": [7459.0, 193.2]}, "trend": {"loss/heatmap": [2429.0, 94.57, 0.961], "loss/angle": [4942.0, 137.2, 0.972], "loss/offsets": [0.9016, 0.7047, 0.218], "loss/anchor": [85.42, 1.414, 0.983], "loss/anchor_offset": [1.376, 0.7743, 0.437], "loss": [7459.0, 234.7, 0.969]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.06458, 0.08791, 0.1016], [0.06453, 0.08792, 0.1014]], "learning_rate": [1.0, 1.0], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.781, "peak_gpu_mib": 8269.6, "seconds": 24.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/soap", "group": "recipe", "method": "GSNet", "sets": ["optimizer=soap"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "soap", "verdict": "runs", "judge": 2, "config_hash": "5cb9f620653b63bb", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=soap -o recipe__GSNet__optimizer__soap.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__soap.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6738], "loss/graspness": [5.176, 0.4283], "loss/view": [6.291, 0.9636], "loss/score": [1.515, 0.4282], "loss/width": [3.654, 1.681], "loss": [17.43, 4.175]}, "trend": {"loss/objectness": [0.7893, 0.6898, 0.126], "loss/graspness": [5.176, 0.5225, 0.899], "loss/view": [6.291, 1.204, 0.809], "loss/score": [1.515, 0.6043, 0.601], "loss/width": [3.654, 1.947, 0.467], "loss": [17.43, 4.968, 0.715]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.222, 0.3353, 0.4466], [0.1963, 0.3414, 0.492]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.199, "peak_gpu_mib": 1874.1, "seconds": 35.6}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/soap", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=soap"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "soap", "verdict": "runs", "judge": 2, "config_hash": "caf0be5b82ce39fe", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=soap -o recipe__EconomicGrasp__optimizer__soap.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__soap.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [96, 129], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6685], "loss/graspness": [5.216, 0.6855], "loss/view": [6.545, 2.0], "loss/angle": [3.303, 1.89], "loss/depth": [2.236, 0.981], "loss/score": [2.117, 1.149], "loss/width": [8.756, 0.8037], "loss": [28.96, 8.178]}, "trend": {"loss/objectness": [0.7845, 0.6824, 0.13], "loss/graspness": [5.216, 0.7772, 0.851], "loss/view": [6.545, 2.201, 0.664], "loss/angle": [3.303, 2.041, 0.382], "loss/depth": [2.236, 1.08, 0.517], "loss/score": [2.117, 1.227, 0.42], "loss/width": [8.756, 0.9416, 0.892], "loss": [28.96, 8.951, 0.691]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.122, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[0.9889, 1.605, 2.274], [0.6331, 1.36, 2.754]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 2103.8, "seconds": 34.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/soap", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=soap"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "soap", "verdict": "runs", "judge": 2, "config_hash": "26e07d1fbb50e70a", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=soap -o recipe__FineGrasp__optimizer__soap.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__soap.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.718], "loss/graspness": [2.473, 0.9977], "loss/view": [5.497, 3.789], "loss/angle": [1.429, 1.048], "loss/depth": [2.039, 0.767], "loss/score": [2.563, 1.277], "loss/width": [4.953, 0.8476], "loss": [19.76, 9.444]}, "trend": {"loss/objectness": [0.8058, 0.7272, 0.097], "loss/graspness": [2.473, 1.081, 0.563], "loss/view": [5.497, 3.982, 0.276], "loss/angle": [1.429, 1.05, 0.265], "loss/depth": [2.039, 0.7817, 0.617], "loss/score": [2.563, 1.366, 0.467], "loss/width": [4.953, 0.9103, 0.816], "loss": [19.76, 9.898, 0.499]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.104, "mean": 0.108, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[0.2675, 1.06, 1.887], [-0.01151, 1.087, 1.815]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.883, "peak_gpu_mib": 11756.8, "seconds": 88.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/soap", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=soap"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "soap", "verdict": "runs", "judge": 2, "config_hash": "71defad382f007e3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=soap -o recipe__GraspNet-baseline__optimizer__soap.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__soap.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [370, 457], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5975], "loss/view": [0.2001, 0.1272], "loss/score": [0.05519, 0.05858], "loss/angle": [0.53, 0.5003], "loss/width": [0.6388, 0.2815], "loss/tolerance": [1.188, 0.7216], "loss": [3.374, 2.287]}, "trend": {"loss/objectness": [0.7623, 0.5962, 0.218], "loss/view": [0.2001, 0.1262, 0.369], "loss/score": [0.05519, 0.05745, -0.041], "loss/angle": [0.53, 0.511, 0.036], "loss/width": [0.6388, 0.2702, 0.577], "loss/tolerance": [1.188, 0.6352, 0.465], "loss": [3.374, 2.196, 0.349]}, "flags": {"loss/score": ["flat"], "loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-19.65, 0.008058, 9.796], [-21.56, -0.008903, 9.302]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.221, "peak_gpu_mib": 3989.9, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/soap", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=soap"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "soap", "verdict": "runs", "judge": 2, "config_hash": "f584bbe4150fdd8c", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=soap -o recipe__Scale-Balanced-Grasp__optimizer__soap.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__soap.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [147, 327], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.5354], "loss/view": [0.2608, 0.1733], "loss/score": [0.05227, 0.03309], "loss/angle": [0.4856, 0.4691], "loss/width": [0.5501, 0.2475], "loss/tolerance": [0.9566, 0.5287], "loss": [3.065, 1.987]}, "trend": {"loss/objectness": [0.7596, 0.559, 0.264], "loss/view": [0.2608, 0.1869, 0.283], "loss/score": [0.05227, 0.03171, 0.393], "loss/angle": [0.4856, 0.4458, 0.082], "loss/width": [0.5501, 0.2473, 0.55], "loss/tolerance": [0.9566, 0.5033, 0.474], "loss": [3.065, 1.974, 0.356]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-8.888, 0.02946, 6.134], [-9.687, 0.1314, 9.036]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.314, "peak_gpu_mib": 9646.2, "seconds": 16.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/soap", "group": "recipe", "method": "HGGD", "sets": ["optimizer=soap"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "soap", "verdict": "fails", "judge": 2, "config_hash": "961d15dc40339646", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=soap -o recipe__HGGD__optimizer__soap.yaml", "failure": {"phase": "step", "when": "iteration 2", "error": "RuntimeError", "message": "CUDA error: an illegal memory access was encountered CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions."}, "probe": "grasppanda probe recipe__HGGD__optimizer__soap.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 1, "batch_size": 4, "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "the GPU reported a launch failure. On a shared or nearly full device that is usually a statement about this machine at this moment, not about the combination: probe again; if it repeats on a free device, it is a defect."], "frames": 8, "trend": {}, "no_gradient": [], "unchanged": [], "checked": [0, 0], "shared_machine": {"peak_gpu_mib": 5991.1, "seconds": 5.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/stableadamw", "group": "recipe", "method": "GSNet", "sets": ["optimizer=stableadamw"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "stableadamw", "verdict": "runs", "judge": 2, "config_hash": "95f05530aee330c3", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=stableadamw -o recipe__GSNet__optimizer__stableadamw.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__stableadamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [208, 272], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6561], "loss/graspness": [5.176, 0.494], "loss/view": [6.291, 0.429], "loss/score": [1.515, 0.07803], "loss/width": [3.654, 0.3592], "loss": [17.43, 2.016]}, "trend": {"loss/objectness": [0.7893, 0.6279, 0.205], "loss/graspness": [5.176, 0.3901, 0.925], "loss/view": [6.291, 0.3843, 0.939], "loss/score": [1.515, 0.08764, 0.942], "loss/width": [3.654, 0.2512, 0.931], "loss": [17.43, 1.741, 0.9]}, "real_seeds": {"min": 0.367, "mean": 0.908, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1085, 0.153, 0.1982], [0.1173, 0.1542, 0.3184]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.193, "peak_gpu_mib": 1841.5, "seconds": 36.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/stableadamw", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=stableadamw"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "stableadamw", "verdict": "runs", "judge": 2, "config_hash": "aad7ff55d41c765b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=stableadamw -o recipe__EconomicGrasp__optimizer__stableadamw.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__stableadamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6279], "loss/graspness": [5.216, 0.2611], "loss/view": [6.545, 0.6806], "loss/angle": [3.303, 0.7743], "loss/depth": [2.236, 0.4111], "loss/score": [2.117, 0.6869], "loss/width": [8.756, 0.7049], "loss": [28.96, 4.147]}, "trend": {"loss/objectness": [0.7845, 0.6229, 0.206], "loss/graspness": [5.216, 0.3246, 0.938], "loss/view": [6.545, 0.7115, 0.891], "loss/angle": [3.303, 0.7759, 0.765], "loss/depth": [2.236, 0.4263, 0.809], "loss/score": [2.117, 0.6769, 0.68], "loss/width": [8.756, 0.7366, 0.916], "loss": [28.96, 4.275, 0.852]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.457, -3.209, -2.693], [-3.53, -3.183, -2.933]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.25, "peak_gpu_mib": 2066.2, "seconds": 42.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/stableadamw", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=stableadamw"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "stableadamw", "verdict": "runs", "judge": 2, "config_hash": "3518dfa5dac375f4", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=stableadamw -o recipe__FineGrasp__optimizer__stableadamw.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__stableadamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6521], "loss/graspness": [2.473, 0.292], "loss/view": [5.497, 0.7204], "loss/angle": [1.429, 0.722], "loss/depth": [2.039, 0.4005], "loss/score": [2.563, 0.6162], "loss/width": [4.953, 0.6162], "loss": [19.76, 4.019]}, "trend": {"loss/objectness": [0.8058, 0.6602, 0.181], "loss/graspness": [2.473, 0.3247, 0.869], "loss/view": [5.497, 0.7515, 0.863], "loss/angle": [1.429, 0.7008, 0.51], "loss/depth": [2.039, 0.3893, 0.809], "loss/score": [2.563, 0.6035, 0.765], "loss/width": [4.953, 0.6709, 0.865], "loss": [19.76, 4.101, 0.792]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.583, -1.349, -1.084], [-1.539, -1.364, -1.019]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.75, "peak_gpu_mib": 11643.5, "seconds": 82.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/stableadamw", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=stableadamw"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "stableadamw", "verdict": "runs", "judge": 2, "config_hash": "7c35ec3a2375953f", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=stableadamw -o recipe__GraspNet-baseline__optimizer__stableadamw.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__stableadamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [333, 709], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5539], "loss/view": [0.2001, 0.07767], "loss/score": [0.05519, 0.02939], "loss/angle": [0.53, 0.4665], "loss/width": [0.6388, 0.1428], "loss/tolerance": [1.188, 0.4402], "loss": [3.374, 1.711]}, "trend": {"loss/objectness": [0.7623, 0.5866, 0.231], "loss/view": [0.2001, 0.07998, 0.6], "loss/score": [0.05519, 0.03569, 0.353], "loss/angle": [0.53, 0.4604, 0.131], "loss/width": [0.6388, 0.1551, 0.757], "loss/tolerance": [1.188, 0.4843, 0.592], "loss": [3.374, 1.802, 0.466]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-47.99, -0.2747, 19.34], [-21.09, -0.3093, 31.74]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.227, "peak_gpu_mib": 3972.1, "seconds": 13.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/stableadamw", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=stableadamw"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "stableadamw", "verdict": "runs-empty", "judge": 2, "config_hash": "4d900597c3618ba1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=stableadamw -o recipe__Scale-Balanced-Grasp__optimizer__stableadamw.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__stableadamw.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3239], "loss/view": [0.2608, 0.1118], "loss/score": [0.05227, 0.02616], "loss/angle": [0.4856, 0.4259], "loss/width": [0.5501, 0.1451], "loss/tolerance": [0.9566, 0.2791], "loss": [3.065, 1.312]}, "trend": {"loss/objectness": [0.7596, 0.3082, 0.594], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.02126, 0.593], "loss/angle": [0.4856, 0.419, 0.137], "loss/width": [0.5501, 0.1529, 0.722], "loss/tolerance": [0.9566, 0.2997, 0.687], "loss": [3.065, 1.327, 0.567]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.503, "peak_gpu_mib": 9615.8, "seconds": 19.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/stableadamw", "group": "recipe", "method": "HGGD", "sets": ["optimizer=stableadamw"], "slot": "optimizer", "component": "PytorchOptimizer", "variant": "stableadamw", "verdict": "runs", "judge": 2, "config_hash": "d09451867e164cf3", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=stableadamw -o recipe__HGGD__optimizer__stableadamw.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__stableadamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [299, 284], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 53.85], "loss/angle": [4942.0, 357.8], "loss/offsets": [0.9016, 0.5471], "loss/anchor": [85.42, 18.59], "loss/anchor_offset": [1.376, 0.5112], "loss": [7459.0, 431.3]}, "trend": {"loss/heatmap": [2429.0, 81.77, 0.966], "loss/angle": [4942.0, 364.3, 0.926], "loss/offsets": [0.9016, 0.5927, 0.343], "loss/anchor": [85.42, 28.24, 0.669], "loss/anchor_offset": [1.376, 0.4934, 0.641], "loss": [7459.0, 475.4, 0.936]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.2316, 0.2739, 0.4253], [0.224, 0.2739, 0.3645]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.74, "peak_gpu_mib": 7890.1, "seconds": 27.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/timm-adan", "group": "recipe", "method": "GSNet", "sets": ["optimizer=timm-adan"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adan", "verdict": "runs", "judge": 2, "config_hash": "3671dbc8c597ff0e", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=timm-adan -o recipe__GSNet__optimizer__timm-adan.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__timm-adan.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5788], "loss/graspness": [5.176, 0.2698], "loss/view": [6.291, 0.4296], "loss/score": [1.515, 0.07499], "loss/width": [3.654, 0.193], "loss": [17.43, 1.546]}, "trend": {"loss/objectness": [0.7893, 0.6038, 0.235], "loss/graspness": [5.176, 0.3068, 0.941], "loss/view": [6.291, 0.4438, 0.929], "loss/score": [1.515, 0.08111, 0.946], "loss/width": [3.654, 0.1988, 0.946], "loss": [17.43, 1.634, 0.906]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1007, 0.1676, 0.2866], [0.1025, 0.1767, 0.3089]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.26, "peak_gpu_mib": 1962.5, "seconds": 30.6}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/timm-adan", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=timm-adan"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adan", "verdict": "runs", "judge": 2, "config_hash": "4ec0348f24754905", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=timm-adan -o recipe__EconomicGrasp__optimizer__timm-adan.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__timm-adan.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6595], "loss/graspness": [5.216, 0.2945], "loss/view": [6.545, 0.6926], "loss/angle": [3.303, 0.8303], "loss/depth": [2.236, 0.4465], "loss/score": [2.117, 0.6964], "loss/width": [8.756, 0.7893], "loss": [28.96, 4.409]}, "trend": {"loss/objectness": [0.7845, 0.6521, 0.169], "loss/graspness": [5.216, 0.3257, 0.938], "loss/view": [6.545, 0.7115, 0.891], "loss/angle": [3.303, 0.7597, 0.77], "loss/depth": [2.236, 0.4254, 0.81], "loss/score": [2.117, 0.6623, 0.687], "loss/width": [8.756, 0.7646, 0.913], "loss": [28.96, 4.301, 0.851]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.12, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.843, -3.589, -3.129], [-3.937, -3.608, -2.19]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.867, "peak_gpu_mib": 2189.2, "seconds": 36.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/timm-adan", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=timm-adan"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adan", "verdict": "runs", "judge": 2, "config_hash": "39367777fce844b4", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=timm-adan -o recipe__FineGrasp__optimizer__timm-adan.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__timm-adan.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.664], "loss/graspness": [2.473, 0.3524], "loss/view": [5.497, 0.7625], "loss/angle": [1.429, 0.6629], "loss/depth": [2.039, 0.368], "loss/score": [2.563, 0.5743], "loss/width": [4.953, 0.6608], "loss": [19.76, 4.045]}, "trend": {"loss/objectness": [0.8058, 0.671, 0.167], "loss/graspness": [2.473, 0.4018, 0.838], "loss/view": [5.497, 0.8358, 0.848], "loss/angle": [1.429, 0.7173, 0.498], "loss/depth": [2.039, 0.3789, 0.814], "loss/score": [2.563, 0.608, 0.763], "loss/width": [4.953, 0.6819, 0.862], "loss": [19.76, 4.295, 0.783]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.102, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.442, -1.225, -0.6545], [-1.505, -1.236, -0.8018]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.74, "peak_gpu_mib": 11791.8, "seconds": 75.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/timm-adan", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=timm-adan"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adan", "verdict": "runs", "judge": 2, "config_hash": "b9020989d3d6e311", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=timm-adan -o recipe__GraspNet-baseline__optimizer__timm-adan.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__timm-adan.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [472, 484], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5812], "loss/view": [0.2001, 0.09057], "loss/score": [0.05519, 0.03598], "loss/angle": [0.53, 0.4754], "loss/width": [0.6388, 0.1911], "loss/tolerance": [1.188, 0.4972], "loss": [3.374, 1.872]}, "trend": {"loss/objectness": [0.7623, 0.5849, 0.233], "loss/view": [0.2001, 0.09255, 0.538], "loss/score": [0.05519, 0.0365, 0.339], "loss/angle": [0.53, 0.4717, 0.11], "loss/width": [0.6388, 0.1953, 0.694], "loss/tolerance": [1.188, 0.5308, 0.553], "loss": [3.374, 1.912, 0.433]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-17.03, -0.1184, 25.93], [-21.7, -0.2039, 21.52]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.267, "peak_gpu_mib": 3979.9, "seconds": 13.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/timm-adan", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=timm-adan"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adan", "verdict": "runs", "judge": 2, "config_hash": "bec64bbc9ab5b773", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=timm-adan -o recipe__Scale-Balanced-Grasp__optimizer__timm-adan.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__timm-adan.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [4, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3368], "loss/view": [0.2608, 0.127], "loss/score": [0.05227, 0.02351], "loss/angle": [0.4856, 0.4407], "loss/width": [0.5501, 0.2065], "loss/tolerance": [0.9566, 0.3985], "loss": [3.065, 1.533]}, "trend": {"loss/objectness": [0.7596, 0.3171, 0.583], "loss/view": [0.2608, 0.1428, 0.452], "loss/score": [0.05227, 0.01907, 0.635], "loss/angle": [0.4856, 0.4286, 0.117], "loss/width": [0.5501, 0.2125, 0.614], "loss/tolerance": [0.9566, 0.3997, 0.582], "loss": [3.065, 1.52, 0.504]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-3.799, -2.02, 0.5274], null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.537, "peak_gpu_mib": 9627.8, "seconds": 18.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/timm-adan", "group": "recipe", "method": "HGGD", "sets": ["optimizer=timm-adan"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adan", "verdict": "runs", "judge": 2, "config_hash": "9a25e1154404ce32", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=timm-adan -o recipe__HGGD__optimizer__timm-adan.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__timm-adan.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [331, 297], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 45.52], "loss/angle": [4942.0, 317.9], "loss/offsets": [0.9016, 0.5445], "loss/anchor": [85.42, 37.74], "loss/anchor_offset": [1.376, 1.268], "loss": [7459.0, 403.0]}, "trend": {"loss/heatmap": [2429.0, 68.52, 0.972], "loss/angle": [4942.0, 320.3, 0.935], "loss/offsets": [0.9016, 0.5936, 0.342], "loss/anchor": [85.42, 33.07, 0.613], "loss/anchor_offset": [1.376, 0.7822, 0.431], "loss": [7459.0, 423.3, 0.943]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.2221, 0.2661, 0.4176], [0.227, 0.2658, 0.3906]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.848, "peak_gpu_mib": 7832.1, "seconds": 28.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/timm-adopt", "group": "recipe", "method": "GSNet", "sets": ["optimizer=timm-adopt"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adopt", "verdict": "runs", "judge": 2, "config_hash": "a7064986d34c063d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=timm-adopt -o recipe__GSNet__optimizer__timm-adopt.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__timm-adopt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.67], "loss/graspness": [5.176, 0.4475], "loss/view": [6.291, 0.3741], "loss/score": [1.515, 0.1246], "loss/width": [3.654, 0.3612], "loss": [17.43, 1.977]}, "trend": {"loss/objectness": [0.7893, 0.6945, 0.12], "loss/graspness": [5.176, 0.5174, 0.9], "loss/view": [6.291, 0.4203, 0.933], "loss/score": [1.515, 0.1635, 0.892], "loss/width": [3.654, 0.3713, 0.898], "loss": [17.43, 2.167, 0.876]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1193, 0.1828, 0.2764], [0.1214, 0.1812, 0.3074]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.235, "peak_gpu_mib": 1841.5, "seconds": 33.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/timm-adopt", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=timm-adopt"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adopt", "verdict": "runs", "judge": 2, "config_hash": "2180c68a321ba4a1", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=timm-adopt -o recipe__EconomicGrasp__optimizer__timm-adopt.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__timm-adopt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [673, 801], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6732], "loss/graspness": [5.216, 0.5222], "loss/view": [6.545, 0.8183], "loss/angle": [3.303, 0.7878], "loss/depth": [2.236, 0.4096], "loss/score": [2.117, 0.6929], "loss/width": [8.756, 0.8639], "loss": [28.96, 4.768]}, "trend": {"loss/objectness": [0.7845, 0.6963, 0.113], "loss/graspness": [5.216, 0.6787, 0.87], "loss/view": [6.545, 0.9554, 0.854], "loss/angle": [3.303, 0.7712, 0.767], "loss/depth": [2.236, 0.4506, 0.799], "loss/score": [2.117, 0.6721, 0.682], "loss/width": [8.756, 0.8392, 0.904], "loss": [28.96, 5.064, 0.825]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.119, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.927, -2.29, -1.148], [-2.681, -2.35, -1.369]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.172, "peak_gpu_mib": 2066.2, "seconds": 31.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/timm-adopt", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=timm-adopt"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adopt", "verdict": "runs", "judge": 2, "config_hash": "b72a8d2d49ba6920", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=timm-adopt -o recipe__FineGrasp__optimizer__timm-adopt.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__timm-adopt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6724], "loss/graspness": [2.473, 0.5044], "loss/view": [5.497, 0.8822], "loss/angle": [1.429, 0.7044], "loss/depth": [2.039, 0.3706], "loss/score": [2.563, 0.6033], "loss/width": [4.953, 0.7788], "loss": [19.76, 4.516]}, "trend": {"loss/objectness": [0.8058, 0.6828, 0.153], "loss/graspness": [2.473, 0.582, 0.765], "loss/view": [5.497, 1.053, 0.808], "loss/angle": [1.429, 0.7072, 0.505], "loss/depth": [2.039, 0.3883, 0.81], "loss/score": [2.563, 0.6179, 0.759], "loss/width": [4.953, 0.8738, 0.824], "loss": [19.76, 4.905, 0.752]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.101, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.404, -1.036, -0.6858], [-1.389, -1.085, -0.615]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.735, "peak_gpu_mib": 11643.5, "seconds": 76.4}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/timm-adopt", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=timm-adopt"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adopt", "verdict": "runs", "judge": 2, "config_hash": "4066219a99894fd5", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=timm-adopt -o recipe__GraspNet-baseline__optimizer__timm-adopt.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__timm-adopt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [437, 269], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5918], "loss/view": [0.2001, 0.1074], "loss/score": [0.05519, 0.03971], "loss/angle": [0.53, 0.4673], "loss/width": [0.6388, 0.1977], "loss/tolerance": [1.188, 0.4723], "loss": [3.374, 1.876]}, "trend": {"loss/objectness": [0.7623, 0.6057, 0.205], "loss/view": [0.2001, 0.1094, 0.453], "loss/score": [0.05519, 0.0349, 0.368], "loss/angle": [0.53, 0.4798, 0.095], "loss/width": [0.6388, 0.2186, 0.658], "loss/tolerance": [1.188, 0.563, 0.526], "loss": [3.374, 2.011, 0.404]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-15.6, 0.06944, 25.26], [-17.62, -0.427, 22.98]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.244, "peak_gpu_mib": 3972.1, "seconds": 13.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/timm-adopt", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=timm-adopt"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adopt", "verdict": "runs-empty", "judge": 2, "config_hash": "b6d030f70abdd11b", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=timm-adopt -o recipe__Scale-Balanced-Grasp__optimizer__timm-adopt.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__timm-adopt.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.337], "loss/view": [0.2608, 0.1341], "loss/score": [0.05227, 0.02508], "loss/angle": [0.4856, 0.4373], "loss/width": [0.5501, 0.2429], "loss/tolerance": [0.9566, 0.3428], "loss": [3.065, 1.519]}, "trend": {"loss/objectness": [0.7596, 0.3466, 0.544], "loss/view": [0.2608, 0.1489, 0.429], "loss/score": [0.05227, 0.02362, 0.548], "loss/angle": [0.4856, 0.4237, 0.127], "loss/width": [0.5501, 0.3226, 0.414], "loss/tolerance": [0.9566, 0.417, 0.564], "loss": [3.065, 1.682, 0.451]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.486, "peak_gpu_mib": 9615.8, "seconds": 17.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/timm-adopt", "group": "recipe", "method": "HGGD", "sets": ["optimizer=timm-adopt"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-adopt", "verdict": "runs", "judge": 2, "config_hash": "b5688d5efe1a1462", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=timm-adopt -o recipe__HGGD__optimizer__timm-adopt.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__timm-adopt.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [306, 287], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 708.4], "loss/angle": [4942.0, 749.5], "loss/offsets": [0.9016, 0.6329], "loss/anchor": [85.42, 145.0], "loss/anchor_offset": [1.376, 0.9726], "loss": [7459.0, 1605.0]}, "trend": {"loss/heatmap": [2429.0, 879.9, 0.638], "loss/angle": [4942.0, 773.1, 0.844], "loss/offsets": [0.9016, 0.6898, 0.235], "loss/anchor": [85.42, 89.14, -0.044], "loss/anchor_offset": [1.376, 0.8812, 0.36], "loss": [7459.0, 1744.0, 0.766]}, "flags": {"loss/anchor": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.4433, 0.5411, 0.6987], [0.4353, 0.5387, 0.6992]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.886, "peak_gpu_mib": 7442.2, "seconds": 27.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/timm-lamb", "group": "recipe", "method": "GSNet", "sets": ["optimizer=timm-lamb"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lamb", "verdict": "runs", "judge": 2, "config_hash": "35f47af96413c6fe", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=timm-lamb -o recipe__GSNet__optimizer__timm-lamb.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__timm-lamb.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [137, 128], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.7028], "loss/graspness": [5.176, 0.6797], "loss/view": [6.291, 1.365], "loss/score": [1.515, 0.2231], "loss/width": [3.654, 0.5914], "loss": [17.43, 3.562]}, "trend": {"loss/objectness": [0.7893, 0.7235, 0.083], "loss/graspness": [5.176, 0.778, 0.85], "loss/view": [6.291, 1.64, 0.739], "loss/score": [1.515, 0.2494, 0.835], "loss/width": [3.654, 0.8065, 0.779], "loss": [17.43, 4.198, 0.759]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1986, 0.3425, 0.4481], [0.1864, 0.3061, 0.4214]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.175, "peak_gpu_mib": 1841.5, "seconds": 28.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/timm-lamb", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=timm-lamb"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lamb", "verdict": "runs", "judge": 2, "config_hash": "411bb49ec42bd920", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=timm-lamb -o recipe__EconomicGrasp__optimizer__timm-lamb.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__timm-lamb.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [141, 225], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.7118], "loss/graspness": [5.216, 0.7331], "loss/view": [6.545, 1.884], "loss/angle": [3.303, 1.118], "loss/depth": [2.236, 0.5799], "loss/score": [2.117, 0.8463], "loss/width": [8.756, 0.9503], "loss": [28.96, 6.824]}, "trend": {"loss/objectness": [0.7845, 0.7278, 0.072], "loss/graspness": [5.216, 0.9105, 0.825], "loss/view": [6.545, 2.096, 0.68], "loss/angle": [3.303, 1.25, 0.621], "loss/depth": [2.236, 0.6697, 0.701], "loss/score": [2.117, 0.9172, 0.567], "loss/width": [8.756, 0.9463, 0.892], "loss": [28.96, 7.518, 0.74]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.116, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-0.8513, 0.09601, 1.687], [-0.4859, -0.0938, 1.515]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.857, "peak_gpu_mib": 2066.2, "seconds": 37.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/timm-lamb", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=timm-lamb"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lamb", "verdict": "runs", "judge": 2, "config_hash": "532a57448c852552", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=timm-lamb -o recipe__FineGrasp__optimizer__timm-lamb.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__timm-lamb.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0005, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.0005."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.762], "loss/graspness": [2.473, 1.249], "loss/view": [5.497, 3.556], "loss/angle": [1.429, 0.7761], "loss/depth": [2.039, 0.4612], "loss/score": [2.563, 0.7769], "loss/width": [4.953, 0.8226], "loss": [19.76, 8.404]}, "trend": {"loss/objectness": [0.8058, 0.7684, 0.046], "loss/graspness": [2.473, 1.318, 0.467], "loss/view": [5.497, 3.724, 0.323], "loss/angle": [1.429, 0.8393, 0.413], "loss/depth": [2.039, 0.5195, 0.745], "loss/score": [2.563, 0.9085, 0.646], "loss/width": [4.953, 0.8414, 0.83], "loss": [19.76, 8.919, 0.549]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.106, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.1939, 0.8018, 1.731], [-0.1121, 0.756, 1.351]], "learning_rate": [0.0005, 0.0005], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.663, "peak_gpu_mib": 11643.5, "seconds": 72.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/timm-lamb", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=timm-lamb"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lamb", "verdict": "runs", "judge": 2, "config_hash": "5b3492d381d847da", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=timm-lamb -o recipe__GraspNet-baseline__optimizer__timm-lamb.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__timm-lamb.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [411, 491], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6248], "loss/view": [0.2001, 0.1335], "loss/score": [0.05519, 0.05351], "loss/angle": [0.53, 0.5081], "loss/width": [0.6388, 0.2678], "loss/tolerance": [1.188, 0.6039], "loss": [3.374, 2.192]}, "trend": {"loss/objectness": [0.7623, 0.6169, 0.191], "loss/view": [0.2001, 0.1353, 0.324], "loss/score": [0.05519, 0.0499, 0.096], "loss/angle": [0.53, 0.518, 0.023], "loss/width": [0.6388, 0.2905, 0.545], "loss/tolerance": [1.188, 0.6528, 0.45], "loss": [3.374, 2.263, 0.329]}, "flags": {"loss/score": ["rising"], "loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-31.3, -0.1232, 11.89], [-30.26, -0.1036, 12.81]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.233, "peak_gpu_mib": 3972.1, "seconds": 12.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/timm-lamb", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=timm-lamb"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lamb", "verdict": "runs", "judge": 2, "config_hash": "2c16bc28940aa004", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=timm-lamb -o recipe__Scale-Balanced-Grasp__optimizer__timm-lamb.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__timm-lamb.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [132, 350], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "schedule constant: OneCycleLR of the recipe peaks at 0.001, not at the rate of the optimizer (0.002): the probe trained at 0.001 (1 parameter group(s) raised). With `scheduler=null`, `grasppanda train` would use the optimizer's rate."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.626], "loss/view": [0.2608, 0.2161], "loss/score": [0.05227, 0.04517], "loss/angle": [0.4856, 0.4973], "loss/width": [0.5501, 0.3173], "loss/tolerance": [0.9566, 0.6478], "loss": [3.065, 2.35]}, "trend": {"loss/objectness": [0.7596, 0.6481, 0.147], "loss/view": [0.2608, 0.2251, 0.137], "loss/score": [0.05227, 0.03573, 0.316], "loss/angle": [0.4856, 0.464, 0.045], "loss/width": [0.5501, 0.3529, 0.359], "loss/tolerance": [0.9566, 0.7159, 0.252], "loss": [3.065, 2.442, 0.203]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-5.091, 0.08405, 3.293], [-6.981, 0.08947, 9.564]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.535, "peak_gpu_mib": 9615.8, "seconds": 19.2}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/timm-lamb", "group": "recipe", "method": "HGGD", "sets": ["optimizer=timm-lamb"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lamb", "verdict": "runs", "judge": 2, "config_hash": "89d2b1b63fa656ec", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=timm-lamb -o recipe__HGGD__optimizer__timm-lamb.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__timm-lamb.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [236, 243], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 970.3], "loss/angle": [4942.0, 1121.0], "loss/offsets": [0.9016, 0.7094], "loss/anchor": [85.42, 41.04], "loss/anchor_offset": [1.376, 0.5662], "loss": [7459.0, 2134.0]}, "trend": {"loss/heatmap": [2429.0, 1079.0, 0.556], "loss/angle": [4942.0, 1103.0, 0.777], "loss/offsets": [0.9016, 0.7204, 0.201], "loss/anchor": [85.42, 44.73, 0.476], "loss/anchor_offset": [1.376, 0.703, 0.489], "loss": [7459.0, 2228.0, 0.701]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.5467, 0.6188, 0.8006], [0.551, 0.6192, 0.8145]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.925, "peak_gpu_mib": 6772.2, "seconds": 28.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/timm-lion", "group": "recipe", "method": "GSNet", "sets": ["optimizer=timm-lion"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lion", "verdict": "runs", "judge": 2, "config_hash": "fbee2c473ac3e06e", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=timm-lion -o recipe__GSNet__optimizer__timm-lion.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__timm-lion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [133, 125], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6913], "loss/graspness": [5.176, 0.6208], "loss/view": [6.291, 1.083], "loss/score": [1.515, 0.2476], "loss/width": [3.654, 0.5956], "loss": [17.43, 3.239]}, "trend": {"loss/objectness": [0.7893, 0.7141, 0.095], "loss/graspness": [5.176, 0.7378, 0.857], "loss/view": [6.291, 1.264, 0.799], "loss/score": [1.515, 0.2781, 0.816], "loss/width": [3.654, 0.7798, 0.787], "loss": [17.43, 3.774, 0.783]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1506, 0.2585, 0.3345], [0.1378, 0.28, 0.3751]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.346, "peak_gpu_mib": 1779.3, "seconds": 31.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/timm-lion", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=timm-lion"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lion", "verdict": "runs", "judge": 2, "config_hash": "f85b2195af22843f", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=timm-lion -o recipe__EconomicGrasp__optimizer__timm-lion.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__timm-lion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [156, 219], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.7085], "loss/graspness": [5.216, 0.7696], "loss/view": [6.545, 1.71], "loss/angle": [3.303, 1.087], "loss/depth": [2.236, 0.5778], "loss/score": [2.117, 0.8038], "loss/width": [8.756, 0.7991], "loss": [28.96, 6.455]}, "trend": {"loss/objectness": [0.7845, 0.7243, 0.077], "loss/graspness": [5.216, 0.8941, 0.829], "loss/view": [6.545, 1.85, 0.717], "loss/angle": [3.303, 1.204, 0.636], "loss/depth": [2.236, 0.633, 0.717], "loss/score": [2.117, 0.8698, 0.589], "loss/width": [8.756, 0.871, 0.901], "loss": [28.96, 7.046, 0.757]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-1.283, -0.4565, 1.286], [-1.209, -0.4784, 0.4313]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.152, "peak_gpu_mib": 2002.7, "seconds": 25.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/timm-lion", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=timm-lion"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lion", "verdict": "runs", "judge": 2, "config_hash": "e145f2cafa9db3d3", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=timm-lion -o recipe__FineGrasp__optimizer__timm-lion.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__timm-lion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 2.5e-05, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 2.5e-05."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.7435], "loss/graspness": [2.473, 1.238], "loss/view": [5.497, 3.116], "loss/angle": [1.429, 0.7776], "loss/depth": [2.039, 0.3965], "loss/score": [2.563, 0.6935], "loss/width": [4.953, 0.8025], "loss": [19.76, 7.768]}, "trend": {"loss/objectness": [0.8058, 0.7521, 0.067], "loss/graspness": [2.473, 1.303, 0.473], "loss/view": [5.497, 3.298, 0.4], "loss/angle": [1.429, 0.7957, 0.443], "loss/depth": [2.039, 0.4327, 0.788], "loss/score": [2.563, 0.7395, 0.711], "loss/width": [4.953, 0.7599, 0.847], "loss": [19.76, 8.081, 0.591]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.107, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.2699, 0.4171, 1.085], [-0.3832, 0.3995, 1.272]], "learning_rate": [2.5e-05, 2.5e-05], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.712, "peak_gpu_mib": 11569.9, "seconds": 71.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/timm-lion", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=timm-lion"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lion", "verdict": "runs", "judge": 2, "config_hash": "3fddcba2ceebe908", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=timm-lion -o recipe__GraspNet-baseline__optimizer__timm-lion.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__timm-lion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [625, 555], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.6265], "loss/view": [0.2001, 0.1408], "loss/score": [0.05519, 0.06006], "loss/angle": [0.53, 0.5138], "loss/width": [0.6388, 0.2932], "loss/tolerance": [1.188, 0.8606], "loss": [3.374, 2.495]}, "trend": {"loss/objectness": [0.7623, 0.6484, 0.149], "loss/view": [0.2001, 0.1396, 0.302], "loss/score": [0.05519, 0.05408, 0.02], "loss/angle": [0.53, 0.516, 0.026], "loss/width": [0.6388, 0.3099, 0.515], "loss/tolerance": [1.188, 0.8214, 0.309], "loss": [3.374, 2.489, 0.262]}, "flags": {"loss/score": ["flat"], "loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-31.56, -0.07817, 10.66], [-23.11, -0.1462, 17.74]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.225, "peak_gpu_mib": 3968.2, "seconds": 12.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/timm-lion", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=timm-lion"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lion", "verdict": "runs-empty", "judge": 2, "config_hash": "04427ab2eb1f2a6b", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=timm-lion -o recipe__Scale-Balanced-Grasp__optimizer__timm-lion.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__timm-lion.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on.", "schedule constant: OneCycleLR of the recipe peaks at 0.001, not at the rate of the optimizer (0.0001): the probe trained at 0.001 (1 parameter group(s) raised). With `scheduler=null`, `grasppanda train` would use the optimizer's rate."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3418], "loss/view": [0.2608, 0.09587], "loss/score": [0.05227, 0.02124], "loss/angle": [0.4856, 0.4347], "loss/width": [0.5501, 0.09594], "loss/tolerance": [0.9566, 0.1794], "loss": [3.065, 1.169]}, "trend": {"loss/objectness": [0.7596, 0.3236, 0.574], "loss/view": [0.2608, 0.1137, 0.564], "loss/score": [0.05227, 0.01916, 0.633], "loss/angle": [0.4856, 0.4156, 0.144], "loss/width": [0.5501, 0.1146, 0.792], "loss/tolerance": [0.9566, 0.2072, 0.783], "loss": [3.065, 1.194, 0.61]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.511, "peak_gpu_mib": 9609.8, "seconds": 18.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/timm-lion", "group": "recipe", "method": "HGGD", "sets": ["optimizer=timm-lion"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-lion", "verdict": "runs", "judge": 2, "config_hash": "e31526ee89097693", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=timm-lion -o recipe__HGGD__optimizer__timm-lion.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__timm-lion.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.0001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [232, 219], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 1540.0], "loss/angle": [4942.0, 1303.0], "loss/offsets": [0.9016, 0.7466], "loss/anchor": [85.42, 53.3], "loss/anchor_offset": [1.376, 1.306], "loss": [7459.0, 2899.0]}, "trend": {"loss/heatmap": [2429.0, 1620.0, 0.333], "loss/angle": [4942.0, 1281.0, 0.741], "loss/offsets": [0.9016, 0.7607, 0.156], "loss/anchor": [85.42, 61.92, 0.275], "loss/anchor_offset": [1.376, 1.21, 0.12], "loss": [7459.0, 2965.0, 0.602]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.6081, 0.6936, 0.8439], [0.5981, 0.6778, 0.847]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.931, "peak_gpu_mib": 6614.6, "seconds": 28.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/timm-madgrad", "group": "recipe", "method": "GSNet", "sets": ["optimizer=timm-madgrad"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-madgrad", "verdict": "runs", "judge": 2, "config_hash": "0cbeab55e2f20c5f", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=timm-madgrad -o recipe__GSNet__optimizer__timm-madgrad.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__timm-madgrad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.566], "loss/graspness": [5.176, 0.3313], "loss/view": [6.291, 0.7775], "loss/score": [1.515, 0.06628], "loss/width": [3.654, 0.2155], "loss": [17.43, 1.957]}, "trend": {"loss/objectness": [0.7893, 0.605, 0.233], "loss/graspness": [5.176, 0.3318, 0.936], "loss/view": [6.291, 0.5247, 0.917], "loss/score": [1.515, 0.0689, 0.955], "loss/width": [3.654, 0.2281, 0.938], "loss": [17.43, 1.759, 0.899]}, "real_seeds": {"min": 0.866, "mean": 0.984, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1113, 0.1764, 0.2899], [0.09772, 0.1662, 0.3099]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.278, "peak_gpu_mib": 1897.1, "seconds": 30.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/timm-madgrad", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=timm-madgrad"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-madgrad", "verdict": "runs", "judge": 2, "config_hash": "a9f40ef26504ca7d", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=timm-madgrad -o recipe__EconomicGrasp__optimizer__timm-madgrad.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__timm-madgrad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6339], "loss/graspness": [5.216, 0.2541], "loss/view": [6.545, 0.7916], "loss/angle": [3.303, 0.9225], "loss/depth": [2.236, 0.4949], "loss/score": [2.117, 0.7781], "loss/width": [8.756, 0.7174], "loss": [28.96, 4.593]}, "trend": {"loss/objectness": [0.7845, 0.6395, 0.185], "loss/graspness": [5.216, 0.305, 0.942], "loss/view": [6.545, 0.7625, 0.884], "loss/angle": [3.303, 0.8257, 0.75], "loss/depth": [2.236, 0.4724, 0.789], "loss/score": [2.117, 0.7123, 0.663], "loss/width": [8.756, 0.7164, 0.918], "loss": [28.96, 4.434, 0.847]}, "real_seeds": {"min": 0.668, "mean": 0.951, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.157, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.026, -2.773, -2.439], [-3.055, -2.801, -2.59]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 2126.0, "seconds": 27.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/timm-madgrad", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=timm-madgrad"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-madgrad", "verdict": "runs", "judge": 2, "config_hash": "83123ec8a366620d", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=timm-madgrad -o recipe__FineGrasp__optimizer__timm-madgrad.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__timm-madgrad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.657], "loss/graspness": [2.473, 0.4488], "loss/view": [5.497, 0.859], "loss/angle": [1.429, 0.7572], "loss/depth": [2.039, 0.4222], "loss/score": [2.563, 0.6427], "loss/width": [4.953, 0.6741], "loss": [19.76, 4.461]}, "trend": {"loss/objectness": [0.8058, 0.6665, 0.173], "loss/graspness": [2.473, 0.4139, 0.833], "loss/view": [5.497, 0.8851, 0.839], "loss/angle": [1.429, 0.7162, 0.499], "loss/depth": [2.039, 0.3907, 0.808], "loss/score": [2.563, 0.6165, 0.759], "loss/width": [4.953, 0.8064, 0.837], "loss": [19.76, 4.495, 0.773]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.104, "mean": 0.121, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.385, -1.166, -0.7989], [-1.341, -1.163, -0.7966]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.9, "peak_gpu_mib": 11713.9, "seconds": 74.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/timm-madgrad", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=timm-madgrad"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-madgrad", "verdict": "runs", "judge": 2, "config_hash": "bff326609fef2f62", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=timm-madgrad -o recipe__GraspNet-baseline__optimizer__timm-madgrad.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__timm-madgrad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [542, 63], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5994], "loss/view": [0.2001, 0.1082], "loss/score": [0.05519, 0.04352], "loss/angle": [0.53, 0.47], "loss/width": [0.6388, 0.1651], "loss/tolerance": [1.188, 0.3735], "loss": [3.374, 1.76]}, "trend": {"loss/objectness": [0.7623, 0.5996, 0.213], "loss/view": [0.2001, 0.1107, 0.447], "loss/score": [0.05519, 0.03515, 0.363], "loss/angle": [0.53, 0.4699, 0.113], "loss/width": [0.6388, 0.1734, 0.728], "loss/tolerance": [1.188, 0.4828, 0.594], "loss": [3.374, 1.872, 0.445]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-20.04, 0.5832, 15.12], [-9.995, 0.2364, 11.48]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.232, "peak_gpu_mib": 3976.0, "seconds": 12.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/timm-madgrad", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=timm-madgrad"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-madgrad", "verdict": "runs-empty", "judge": 2, "config_hash": "544204238c52c2c6", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=timm-madgrad -o recipe__Scale-Balanced-Grasp__optimizer__timm-madgrad.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__timm-madgrad.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3787], "loss/view": [0.2608, 0.1284], "loss/score": [0.05227, 0.02494], "loss/angle": [0.4856, 0.4423], "loss/width": [0.5501, 0.17], "loss/tolerance": [0.9566, 0.2024], "loss": [3.065, 1.347]}, "trend": {"loss/objectness": [0.7596, 0.3219, 0.576], "loss/view": [0.2608, 0.1394, 0.466], "loss/score": [0.05227, 0.02363, 0.548], "loss/angle": [0.4856, 0.4299, 0.115], "loss/width": [0.5501, 0.1981, 0.64], "loss/tolerance": [0.9566, 0.2638, 0.724], "loss": [3.065, 1.377, 0.551]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.481, "peak_gpu_mib": 9621.8, "seconds": 17.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/timm-madgrad", "group": "recipe", "method": "HGGD", "sets": ["optimizer=timm-madgrad"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-madgrad", "verdict": "runs", "judge": 2, "config_hash": "4198909e94c91875", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=timm-madgrad -o recipe__HGGD__optimizer__timm-madgrad.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__timm-madgrad.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [287, 313], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 6.026], "loss/angle": [4942.0, 180.2], "loss/offsets": [0.9016, 0.5733], "loss/anchor": [85.42, 1.344], "loss/anchor_offset": [1.376, 0.6069], "loss": [7459.0, 188.8]}, "trend": {"loss/heatmap": [2429.0, 11.83, 0.995], "loss/angle": [4942.0, 194.0, 0.961], "loss/offsets": [0.9016, 0.6331, 0.298], "loss/anchor": [85.42, 1.654, 0.981], "loss/anchor_offset": [1.376, 0.805, 0.415], "loss": [7459.0, 208.9, 0.972]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.04509, 0.05329, 0.1046], [0.04643, 0.0542, 0.1129]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.502, "peak_gpu_mib": 7818.2, "seconds": 22.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/optimizer/timm-mars", "group": "recipe", "method": "GSNet", "sets": ["optimizer=timm-mars"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-mars", "verdict": "runs", "judge": 2, "config_hash": "e6d66fad11905f0c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set optimizer=timm-mars -o recipe__GSNet__optimizer__timm-mars.yaml", "probe": "grasppanda probe recipe__GSNet__optimizer__timm-mars.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6011], "loss/graspness": [5.176, 0.5572], "loss/view": [6.291, 0.3315], "loss/score": [1.515, 0.07181], "loss/width": [3.654, 0.3232], "loss": [17.43, 1.885]}, "trend": {"loss/objectness": [0.7893, 0.6358, 0.195], "loss/graspness": [5.176, 1.206, 0.767], "loss/view": [6.291, 0.3485, 0.945], "loss/score": [1.515, 0.1002, 0.934], "loss/width": [3.654, 0.3783, 0.896], "loss": [17.43, 2.669, 0.847]}, "real_seeds": {"min": 0.75, "mean": 0.942, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1004, 0.1679, 0.233], [0.1112, 0.1685, 0.2598]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.277, "peak_gpu_mib": 1897.1, "seconds": 35.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/optimizer/timm-mars", "group": "recipe", "method": "EconomicGrasp", "sets": ["optimizer=timm-mars"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-mars", "verdict": "runs", "judge": 2, "config_hash": "7bf1bcd242e26a1f", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set optimizer=timm-mars -o recipe__EconomicGrasp__optimizer__timm-mars.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__optimizer__timm-mars.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [545, 461], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6468], "loss/graspness": [5.216, 0.9258], "loss/view": [6.545, 0.6575], "loss/angle": [3.303, 0.7713], "loss/depth": [2.236, 0.411], "loss/score": [2.117, 0.7167], "loss/width": [8.756, 1.21], "loss": [28.96, 5.339]}, "trend": {"loss/objectness": [0.7845, 0.6635, 0.154], "loss/graspness": [5.216, 1.571, 0.699], "loss/view": [6.545, 0.6705, 0.898], "loss/angle": [3.303, 0.7789, 0.764], "loss/depth": [2.236, 0.4249, 0.81], "loss/score": [2.117, 0.6486, 0.694], "loss/width": [8.756, 1.112, 0.873], "loss": [28.96, 5.869, 0.797]}, "real_seeds": {"min": 0.566, "mean": 0.893, "zero_iterations": 0}, "supervised_seeds": {"min": 0.068, "mean": 0.122, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.439, -3.126, -2.585], [-3.426, -3.186, -2.754]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.322, "peak_gpu_mib": 2126.0, "seconds": 35.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/optimizer/timm-mars", "group": "recipe", "method": "FineGrasp", "sets": ["optimizer=timm-mars"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-mars", "verdict": "runs", "judge": 2, "config_hash": "19c0b52460f79ff9", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set optimizer=timm-mars -o recipe__FineGrasp__optimizer__timm-mars.yaml", "probe": "grasppanda probe recipe__FineGrasp__optimizer__timm-mars.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.00025, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.00025."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6544], "loss/graspness": [2.473, 0.289], "loss/view": [5.497, 0.7269], "loss/angle": [1.429, 0.6285], "loss/depth": [2.039, 0.341], "loss/score": [2.563, 0.5162], "loss/width": [4.953, 0.6613], "loss": [19.76, 3.817]}, "trend": {"loss/objectness": [0.8058, 0.6619, 0.179], "loss/graspness": [2.473, 0.3357, 0.864], "loss/view": [5.497, 0.7852, 0.857], "loss/angle": [1.429, 0.6793, 0.525], "loss/depth": [2.039, 0.367, 0.82], "loss/score": [2.563, 0.5773, 0.775], "loss/width": [4.953, 0.7271, 0.853], "loss": [19.76, 4.134, 0.791]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.1, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.381, -1.214, -0.9206], [-1.429, -1.245, -0.6601]], "learning_rate": [0.00025, 0.00025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.08, "peak_gpu_mib": 11713.9, "seconds": 81.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/optimizer/timm-mars", "group": "recipe", "method": "GraspNet-baseline", "sets": ["optimizer=timm-mars"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-mars", "verdict": "runs", "judge": 2, "config_hash": "f20edaef5a3d83f7", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set optimizer=timm-mars -o recipe__GraspNet-baseline__optimizer__timm-mars.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__optimizer__timm-mars.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [584, 726], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5825], "loss/view": [0.2001, 0.08087], "loss/score": [0.05519, 0.03873], "loss/angle": [0.53, 0.4656], "loss/width": [0.6388, 0.1382], "loss/tolerance": [1.188, 0.4094], "loss": [3.374, 1.715]}, "trend": {"loss/objectness": [0.7623, 0.5688, 0.254], "loss/view": [0.2001, 0.08333, 0.584], "loss/score": [0.05519, 0.03128, 0.433], "loss/angle": [0.53, 0.4659, 0.121], "loss/width": [0.6388, 0.1603, 0.749], "loss/tolerance": [1.188, 0.471, 0.604], "loss": [3.374, 1.781, 0.472]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-28.39, -0.1703, 34.62], [-27.25, 0.229, 39.75]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.178, "peak_gpu_mib": 3976.0, "seconds": 10.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/optimizer/timm-mars", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["optimizer=timm-mars"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-mars", "verdict": "runs-empty", "judge": 2, "config_hash": "3d55b128c31da39f", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set optimizer=timm-mars -o recipe__Scale-Balanced-Grasp__optimizer__timm-mars.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__optimizer__timm-mars.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3257], "loss/view": [0.2608, 0.1142], "loss/score": [0.05227, 0.02615], "loss/angle": [0.4856, 0.4272], "loss/width": [0.5501, 0.1497], "loss/tolerance": [0.9566, 0.2471], "loss": [3.065, 1.29]}, "trend": {"loss/objectness": [0.7596, 0.3165, 0.583], "loss/view": [0.2608, 0.1279, 0.509], "loss/score": [0.05227, 0.0203, 0.612], "loss/angle": [0.4856, 0.4167, 0.142], "loss/width": [0.5501, 0.1681, 0.694], "loss/tolerance": [0.9566, 0.2938, 0.693], "loss": [3.065, 1.343, 0.562]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.35, "peak_gpu_mib": 9621.8, "seconds": 14.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/optimizer/timm-mars", "group": "recipe", "method": "HGGD", "sets": ["optimizer=timm-mars"], "slot": "optimizer", "component": "TimmOptimizer", "variant": "timm-mars", "verdict": "runs", "judge": 2, "config_hash": "6c3ac820b53bd53c", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set optimizer=timm-mars -o recipe__HGGD__optimizer__timm-mars.yaml", "probe": "grasppanda probe recipe__HGGD__optimizer__timm-mars.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [317, 261], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 1734.0], "loss/angle": [4942.0, 1867.0], "loss/offsets": [0.9016, 0.528], "loss/anchor": [85.42, 282.2], "loss/anchor_offset": [1.376, 0.2842], "loss": [7459.0, 3884.0]}, "trend": {"loss/heatmap": [2429.0, 1788.0, 0.264], "loss/angle": [4942.0, 1746.0, 0.647], "loss/offsets": [0.9016, 0.6005, 0.334], "loss/anchor": [85.42, 199.1, -1.331], "loss/anchor_offset": [1.376, 0.4071, 0.704], "loss": [7459.0, 3734.0, 0.499]}, "flags": {"loss/anchor": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.364, 0.4447, 0.6362], [0.3637, 0.4475, 0.6384]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.588, "peak_gpu_mib": 7564.8, "seconds": 20.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/schedule/constant", "group": "recipe", "method": "GSNet", "sets": ["schedule=constant"], "slot": "schedule", "component": "train options", "variant": "constant", "verdict": "runs", "judge": 2, "config_hash": "2d9ff2ea91020c89", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set schedule=constant -o recipe__GSNet__schedule__constant.yaml", "probe": "grasppanda probe recipe__GSNet__schedule__constant.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [233, 302], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6286], "loss/graspness": [5.176, 0.4839], "loss/view": [6.291, 0.542], "loss/score": [1.515, 0.07334], "loss/width": [3.654, 0.5692], "loss": [17.43, 2.297]}, "trend": {"loss/objectness": [0.7893, 0.6182, 0.217], "loss/graspness": [5.176, 0.383, 0.926], "loss/view": [6.291, 0.4217, 0.933], "loss/score": [1.515, 0.08267, 0.945], "loss/width": [3.654, 0.2976, 0.919], "loss": [17.43, 1.803, 0.897]}, "real_seeds": {"min": 0.417, "mean": 0.911, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1111, 0.169, 0.2279], [0.1205, 0.1772, 0.2868]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.351, "peak_gpu_mib": 1841.5, "seconds": 33.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/schedule/constant", "group": "recipe", "method": "EconomicGrasp", "sets": ["schedule=constant"], "slot": "schedule", "component": "train options", "variant": "constant", "verdict": "runs", "judge": 2, "config_hash": "aec46757ecf8d87e", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set schedule=constant -o recipe__EconomicGrasp__schedule__constant.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__schedule__constant.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6137], "loss/graspness": [5.216, 0.2804], "loss/view": [6.545, 0.6904], "loss/angle": [3.303, 0.6932], "loss/depth": [2.236, 0.3002], "loss/score": [2.117, 0.6052], "loss/width": [8.756, 0.6514], "loss": [28.96, 3.835]}, "trend": {"loss/objectness": [0.7845, 0.6073, 0.226], "loss/graspness": [5.216, 0.3482, 0.933], "loss/view": [6.545, 0.7132, 0.891], "loss/angle": [3.303, 0.7355, 0.777], "loss/depth": [2.236, 0.3936, 0.824], "loss/score": [2.117, 0.632, 0.701], "loss/width": [8.756, 0.7189, 0.918], "loss": [28.96, 4.149, 0.857]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.135, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.498, -3.197, -2.912], [-3.538, -3.216, -2.894]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.17, "peak_gpu_mib": 2066.2, "seconds": 34.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/schedule/constant", "group": "recipe", "method": "FineGrasp", "sets": ["schedule=constant"], "slot": "schedule", "component": "train options", "variant": "constant", "verdict": "runs-unstable", "judge": 2, "config_hash": "d81bf35e3bc53253", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set schedule=constant -o recipe__FineGrasp__schedule__constant.yaml", "unstable": "4 of 20 iterations had no real seed (iteration 2, 3, 10, 11).", "probe": "grasppanda probe recipe__FineGrasp__schedule__constant.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "4 of 20 iterations had no real seed (iteration 2, 3, 10, 11).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.8058, 0.6766], "loss/graspness": [2.473, 0.3409], "loss/view": [5.497, 0.6127], "loss/angle": [1.429, 0.9311], "loss/depth": [2.039, 0.5926], "loss/score": [2.563, 0.8008], "loss/width": [4.953, 2.93], "loss": [19.76, 6.884]}, "trend": {"loss/objectness": [0.8058, 0.676, 0.161], "loss/graspness": [2.473, 0.5022, 0.797], "loss/view": [5.497, 0.6211, 0.887], "loss/angle": [1.429, 0.8805, 0.384], "loss/depth": [2.039, 0.4791, 0.765], "loss/score": [2.563, 0.7297, 0.715], "loss/width": [4.953, 1.838, 0.629], "loss": [19.76, 5.811, 0.706]}, "active": {"loss/view": 16, "loss/angle": 15, "loss/depth": 15, "loss/score": 15, "loss/width": 15}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-5.194, -5.193, -5.192], [-5.194, -5.193, -5.192]]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6758], "loss/graspness": [2.473, 0.3402], "loss/view": [5.497, 0.6164], "loss/angle": [1.429, 0.9324], "loss/depth": [2.039, 0.5266], "loss/score": [2.563, 0.7502], "loss/width": [4.953, 3.057], "loss": [19.76, 6.898]}, "trend": {"loss/objectness": [0.8058, 0.675, 0.162], "loss/graspness": [2.473, 0.4939, 0.8], "loss/view": [5.497, 0.6218, 0.887], "loss/angle": [1.429, 0.9122, 0.362], "loss/depth": [2.039, 0.4877, 0.761], "loss/score": [2.563, 0.7532, 0.706], "loss/width": [4.953, 1.943, 0.608], "loss": [19.76, 5.885, 0.702]}, "active": {"loss/view": 16, "loss/angle": 15, "loss/depth": 15, "loss/score": 15, "loss/width": 15}, "real_seeds": {"min": 0.0, "mean": 0.75, "zero_iterations": 4}, "supervised_seeds": {"min": 0.0, "mean": 0.081, "zero_iterations": 5}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-5.173, -5.171, -5.17], [-5.173, -5.172, -5.17]], "learning_rate": [0.008, 0.008], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.76, "peak_gpu_mib": 11643.5, "seconds": 75.6}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/schedule/constant", "group": "recipe", "method": "GraspNet-baseline", "sets": ["schedule=constant"], "slot": "schedule", "component": "train options", "variant": "constant", "verdict": "runs", "judge": 2, "config_hash": "242ea3178516cfc3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set schedule=constant -o recipe__GraspNet-baseline__schedule__constant.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__schedule__constant.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [893, 642], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5799], "loss/view": [0.2001, 0.07739], "loss/score": [0.05519, 0.03684], "loss/angle": [0.53, 0.4611], "loss/width": [0.6388, 0.1726], "loss/tolerance": [1.188, 0.4731], "loss": [3.374, 1.801]}, "trend": {"loss/objectness": [0.7623, 0.5778, 0.242], "loss/view": [0.2001, 0.0793, 0.604], "loss/score": [0.05519, 0.03688, 0.332], "loss/angle": [0.53, 0.4613, 0.13], "loss/width": [0.6388, 0.1916, 0.7], "loss/tolerance": [1.188, 0.4799, 0.596], "loss": [3.374, 1.827, 0.459]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-14.45, -0.633, 27.43], [-14.69, -0.4401, 23.65]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.187, "peak_gpu_mib": 3972.1, "seconds": 10.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/schedule/constant", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["schedule=constant"], "slot": "schedule", "component": "train options", "variant": "constant", "verdict": "runs", "judge": 2, "config_hash": "8188196a69a0143e", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set schedule=constant -o recipe__Scale-Balanced-Grasp__schedule__constant.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__schedule__constant.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [11, 6], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.214, -0.2444, 3.47], [-1.994, 0.4923, 5.233]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.368, "peak_gpu_mib": 9615.8, "seconds": 14.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/schedule/constant", "group": "recipe", "method": "HGGD", "sets": ["schedule=constant"], "slot": "schedule", "component": "train options", "variant": "constant", "verdict": "runs", "judge": 2, "config_hash": "98f69058686c280b", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set schedule=constant -o recipe__HGGD__schedule__constant.yaml", "probe": "grasppanda probe recipe__HGGD__schedule__constant.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [300, 258], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.019], "loss/angle": [4942.0, 73.11], "loss/offsets": [0.9016, 0.4523], "loss/anchor": [85.42, 3.235], "loss/anchor_offset": [1.376, 1.373], "loss": [7459.0, 82.19]}, "trend": {"loss/heatmap": [2429.0, 4.025, 0.998], "loss/angle": [4942.0, 85.77, 0.983], "loss/offsets": [0.9016, 0.4776, 0.47], "loss/anchor": [85.42, 3.058, 0.964], "loss/anchor_offset": [1.376, 1.255, 0.087], "loss": [7459.0, 94.59, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.002116, 0.00363, 0.01058], [0.002116, 0.00363, 0.01058]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.673, "peak_gpu_mib": 8217.8, "seconds": 20.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/schedule/cosine-restarts", "group": "recipe", "method": "GSNet", "sets": ["schedule=cosine-restarts"], "slot": "schedule", "component": "TimmSchedule", "variant": "cosine-restarts", "verdict": "runs", "judge": 2, "config_hash": "4ccb2ecd997b09e0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set schedule=cosine-restarts -o recipe__GSNet__schedule__cosine-restarts.yaml", "probe": "grasppanda probe recipe__GSNet__schedule__cosine-restarts.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6029], "loss/graspness": [5.176, 0.386], "loss/view": [6.291, 0.4098], "loss/score": [1.515, 0.1042], "loss/width": [3.654, 0.2731], "loss": [17.43, 1.776]}, "trend": {"loss/objectness": [0.7893, 0.6111, 0.226], "loss/graspness": [5.176, 0.441, 0.915], "loss/view": [6.291, 0.3903, 0.938], "loss/score": [1.515, 0.12, 0.921], "loss/width": [3.654, 0.2955, 0.919], "loss": [17.43, 1.858, 0.893]}, "real_seeds": {"min": 0.97, "mean": 0.998, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1239, 0.1978, 0.3209], [0.1183, 0.2045, 0.3614]], "learning_rate": [0.001, 0.0002135], "lr_factor": 0.2135, "shared_machine": {"seconds_per_iteration": 0.173, "peak_gpu_mib": 1841.5, "seconds": 28.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/schedule/cosine-restarts", "group": "recipe", "method": "EconomicGrasp", "sets": ["schedule=cosine-restarts"], "slot": "schedule", "component": "TimmSchedule", "variant": "cosine-restarts", "verdict": "runs", "judge": 2, "config_hash": "869d01b20e883c59", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set schedule=cosine-restarts -o recipe__EconomicGrasp__schedule__cosine-restarts.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__schedule__cosine-restarts.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6775], "loss/graspness": [5.216, 0.5155], "loss/view": [6.545, 0.7957], "loss/angle": [3.303, 0.79], "loss/depth": [2.236, 0.4555], "loss/score": [2.117, 0.6638], "loss/width": [8.756, 0.7029], "loss": [28.96, 4.601]}, "trend": {"loss/objectness": [0.7845, 0.6739, 0.141], "loss/graspness": [5.216, 0.6303, 0.879], "loss/view": [6.545, 0.8119, 0.876], "loss/angle": [3.303, 0.7143, 0.784], "loss/depth": [2.236, 0.4264, 0.809], "loss/score": [2.117, 0.6011, 0.716], "loss/width": [8.756, 0.7334, 0.916], "loss": [28.96, 4.591, 0.841]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.348, -2.8, -2.148], [-3.228, -2.784, -2.228]], "learning_rate": [0.001, 0.0002135], "lr_factor": 0.2135, "shared_machine": {"seconds_per_iteration": 0.189, "peak_gpu_mib": 2066.2, "seconds": 31.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/schedule/cosine-restarts", "group": "recipe", "method": "FineGrasp", "sets": ["schedule=cosine-restarts"], "slot": "schedule", "component": "TimmSchedule", "variant": "cosine-restarts", "verdict": "runs-unstable", "judge": 2, "config_hash": "2b3fcccb615bb33e", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set schedule=cosine-restarts -o recipe__FineGrasp__schedule__cosine-restarts.yaml", "unstable": "2 of 20 iterations had no real seed (iteration 2, 3).", "probe": "grasppanda probe recipe__FineGrasp__schedule__cosine-restarts.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 2, 3).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.8058, 0.681], "loss/graspness": [2.473, 0.8582], "loss/view": [5.497, 0.6708], "loss/angle": [1.429, 0.6503], "loss/depth": [2.039, 0.4293], "loss/score": [2.563, 0.5618], "loss/width": [4.953, 0.85], "loss": [19.76, 4.701]}, "trend": {"loss/objectness": [0.8058, 0.6805, 0.155], "loss/graspness": [2.473, 0.878, 0.645], "loss/view": [5.497, 0.6712, 0.878], "loss/angle": [1.429, 0.6379, 0.554], "loss/depth": [2.039, 0.3763, 0.815], "loss/score": [2.563, 0.5419, 0.789], "loss/width": [4.953, 0.8301, 0.832], "loss": [19.76, 4.616, 0.766]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.545, -2.545, -2.545], [-2.545, -2.545, -2.545]]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.681], "loss/graspness": [2.473, 0.8619], "loss/view": [5.497, 0.6714], "loss/angle": [1.429, 0.621], "loss/depth": [2.039, 0.3926], "loss/score": [2.563, 0.5385], "loss/width": [4.953, 0.8289], "loss": [19.76, 4.595]}, "trend": {"loss/objectness": [0.8058, 0.6804, 0.156], "loss/graspness": [2.473, 0.881, 0.644], "loss/view": [5.497, 0.6716, 0.878], "loss/angle": [1.429, 0.6188, 0.567], "loss/depth": [2.039, 0.3828, 0.812], "loss/score": [2.563, 0.5323, 0.792], "loss/width": [4.953, 0.8157, 0.835], "loss": [19.76, 4.583, 0.768]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "real_seeds": {"min": 0.0, "mean": 0.9, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.097, "zero_iterations": 2}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.515, -2.515, -2.514], [-2.515, -2.515, -2.514]], "learning_rate": [0.008, 1e-06], "lr_factor": 0.000125, "shared_machine": {"seconds_per_iteration": 0.72, "peak_gpu_mib": 11643.5, "seconds": 71.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/schedule/cosine-restarts", "group": "recipe", "method": "GraspNet-baseline", "sets": ["schedule=cosine-restarts"], "slot": "schedule", "component": "TimmSchedule", "variant": "cosine-restarts", "verdict": "runs", "judge": 2, "config_hash": "b8adac9ba047e487", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set schedule=cosine-restarts -o recipe__GraspNet-baseline__schedule__cosine-restarts.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__schedule__cosine-restarts.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [526, 763], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5868], "loss/view": [0.2001, 0.09571], "loss/score": [0.05519, 0.03095], "loss/angle": [0.53, 0.4846], "loss/width": [0.6388, 0.2178], "loss/tolerance": [1.188, 0.5816], "loss": [3.374, 1.997]}, "trend": {"loss/objectness": [0.7623, 0.5859, 0.231], "loss/view": [0.2001, 0.09839, 0.508], "loss/score": [0.05519, 0.03797, 0.312], "loss/angle": [0.53, 0.4757, 0.102], "loss/width": [0.6388, 0.2193, 0.657], "loss/tolerance": [1.188, 0.5838, 0.509], "loss": [3.374, 2.001, 0.407]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-15.5, -0.2765, 12.1], [-16.14, -0.1706, 15.45]], "learning_rate": [0.001, 0.0005], "lr_factor": 0.5, "shared_machine": {"seconds_per_iteration": 0.146, "peak_gpu_mib": 3972.1, "seconds": 10.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/schedule/cosine-restarts", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["schedule=cosine-restarts"], "slot": "schedule", "component": "TimmSchedule", "variant": "cosine-restarts", "verdict": "runs", "judge": 2, "config_hash": "daca1521e18048da", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set schedule=cosine-restarts -o recipe__Scale-Balanced-Grasp__schedule__cosine-restarts.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__schedule__cosine-restarts.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [322, 198], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3298], "loss/view": [0.2608, 0.1298], "loss/score": [0.05227, 0.02306], "loss/angle": [0.4856, 0.4483], "loss/width": [0.5501, 0.2066], "loss/tolerance": [0.9566, 0.4285], "loss": [3.065, 1.566]}, "trend": {"loss/objectness": [0.7596, 0.3233, 0.574], "loss/view": [0.2608, 0.145, 0.444], "loss/score": [0.05227, 0.02117, 0.595], "loss/angle": [0.4856, 0.4344, 0.106], "loss/width": [0.5501, 0.2182, 0.603], "loss/tolerance": [0.9566, 0.4507, 0.529], "loss": [3.065, 1.593, 0.48]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-3.523, -0.05133, 4.384], [-4.071, 0.01612, 6.326]], "learning_rate": [0.001, 0.0005], "lr_factor": 0.5, "shared_machine": {"seconds_per_iteration": 0.289, "peak_gpu_mib": 9615.8, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/schedule/cosine-restarts", "group": "recipe", "method": "HGGD", "sets": ["schedule=cosine-restarts"], "slot": "schedule", "component": "TimmSchedule", "variant": "cosine-restarts", "verdict": "runs", "judge": 2, "config_hash": "d6a1a77c6dd6b864", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set schedule=cosine-restarts -o recipe__HGGD__schedule__cosine-restarts.yaml", "probe": "grasppanda probe recipe__HGGD__schedule__cosine-restarts.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [264, 216], "frames": 8, "losses": {"loss/heatmap": [2429.0, 6.28], "loss/angle": [4942.0, 306.6], "loss/offsets": [0.9016, 0.5249], "loss/anchor": [85.42, 2.051], "loss/anchor_offset": [1.376, 0.9748], "loss": [7459.0, 316.4]}, "trend": {"loss/heatmap": [2429.0, 11.07, 0.995], "loss/angle": [4942.0, 305.0, 0.938], "loss/offsets": [0.9016, 0.5214, 0.422], "loss/anchor": [85.42, 2.002, 0.977], "loss/anchor_offset": [1.376, 1.162, 0.155], "loss": [7459.0, 319.7, 0.957]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.01835, 0.02566, 0.05055], [0.01836, 0.02504, 0.0497]], "learning_rate": [0.01, 0.002134], "lr_factor": 0.2134, "shared_machine": {"seconds_per_iteration": 0.513, "peak_gpu_mib": 8202.6, "seconds": 20.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/schedule/cosine", "group": "recipe", "method": "GSNet", "sets": ["schedule=cosine"], "slot": "schedule", "component": "CosineAnnealingLR", "variant": "cosine", "verdict": "runs", "judge": 2, "config_hash": "eb4e6e9cc1296d60", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set schedule=cosine -o recipe__GSNet__schedule__cosine.yaml", "probe": "grasppanda probe recipe__GSNet__schedule__cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6528], "loss/graspness": [5.176, 0.5136], "loss/view": [6.291, 0.3712], "loss/score": [1.515, 0.08732], "loss/width": [3.654, 0.3049], "loss": [17.43, 1.93]}, "trend": {"loss/objectness": [0.7893, 0.6225, 0.211], "loss/graspness": [5.176, 0.4415, 0.915], "loss/view": [6.291, 0.3598, 0.943], "loss/score": [1.515, 0.09132, 0.94], "loss/width": [3.654, 0.2787, 0.924], "loss": [17.43, 1.794, 0.897]}, "real_seeds": {"min": 0.676, "mean": 0.973, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1152, 0.1873, 0.3043], [0.1169, 0.1807, 0.2952]], "learning_rate": [0.001, 2.545e-05], "lr_factor": 0.02545, "shared_machine": {"seconds_per_iteration": 0.16, "peak_gpu_mib": 1841.5, "seconds": 33.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/schedule/cosine", "group": "recipe", "method": "EconomicGrasp", "sets": ["schedule=cosine"], "slot": "schedule", "component": "CosineAnnealingLR", "variant": "cosine", "verdict": "runs", "judge": 2, "config_hash": "613e0446027c7214", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set schedule=cosine -o recipe__EconomicGrasp__schedule__cosine.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__schedule__cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6607], "loss/graspness": [5.216, 0.4296], "loss/view": [6.545, 0.7476], "loss/angle": [3.303, 0.7757], "loss/depth": [2.236, 0.4171], "loss/score": [2.117, 0.6797], "loss/width": [8.756, 0.7274], "loss": [28.96, 4.438]}, "trend": {"loss/objectness": [0.7845, 0.6476, 0.175], "loss/graspness": [5.216, 0.4491, 0.914], "loss/view": [6.545, 0.7526, 0.885], "loss/angle": [3.303, 0.7548, 0.771], "loss/depth": [2.236, 0.4306, 0.807], "loss/score": [2.117, 0.666, 0.685], "loss/width": [8.756, 0.7262, 0.917], "loss": [28.96, 4.427, 0.847]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.132, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.562, -3.148, -2.641], [-3.517, -3.165, -2.309]], "learning_rate": [0.001, 2.545e-05], "lr_factor": 0.02545, "shared_machine": {"seconds_per_iteration": 0.155, "peak_gpu_mib": 2066.2, "seconds": 33.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/schedule/cosine", "group": "recipe", "method": "FineGrasp", "sets": ["schedule=cosine"], "slot": "schedule", "component": "CosineAnnealingLR", "variant": "cosine", "verdict": "runs-unstable", "judge": 2, "config_hash": "f707d6f5c7df4a57", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set schedule=cosine -o recipe__FineGrasp__schedule__cosine.yaml", "unstable": "3 of 20 iterations had no real seed (iteration 2, 3, 12).", "probe": "grasppanda probe recipe__FineGrasp__schedule__cosine.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "3 of 20 iterations had no real seed (iteration 2, 3, 12).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.8058, 0.6789], "loss/graspness": [2.473, 0.3074], "loss/view": [5.497, 0.6369], "loss/angle": [1.429, 0.6343], "loss/depth": [2.039, 0.3568], "loss/score": [2.563, 0.5671], "loss/width": [4.953, 0.7924], "loss": [19.76, 3.974]}, "trend": {"loss/objectness": [0.8058, 0.6793, 0.157], "loss/graspness": [2.473, 0.3116, 0.874], "loss/view": [5.497, 0.6378, 0.884], "loss/angle": [1.429, 0.6879, 0.519], "loss/depth": [2.039, 0.3776, 0.815], "loss/score": [2.563, 0.6009, 0.766], "loss/width": [4.953, 0.771, 0.844], "loss": [19.76, 4.084, 0.793]}, "active": {"loss/view": 17, "loss/angle": 14, "loss/depth": 14, "loss/score": 14, "loss/width": 14}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.94, -3.939, -3.939], [-3.939, -3.939, -3.939]]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6796], "loss/graspness": [2.473, 0.3074], "loss/view": [5.497, 0.6357], "loss/angle": [1.429, 0.6557], "loss/depth": [2.039, 0.3267], "loss/score": [2.563, 0.5785], "loss/width": [4.953, 0.773], "loss": [19.76, 3.957]}, "trend": {"loss/objectness": [0.8058, 0.6796, 0.157], "loss/graspness": [2.473, 0.3117, 0.874], "loss/view": [5.497, 0.6374, 0.884], "loss/angle": [1.429, 0.6998, 0.51], "loss/depth": [2.039, 0.3867, 0.81], "loss/score": [2.563, 0.6251, 0.756], "loss/width": [4.953, 0.7744, 0.844], "loss": [19.76, 4.091, 0.793]}, "active": {"loss/view": 17, "loss/angle": 14, "loss/depth": 14, "loss/score": 14, "loss/width": 14}, "real_seeds": {"min": 0.0, "mean": 0.641, "zero_iterations": 3}, "supervised_seeds": {"min": 0.0, "mean": 0.075, "zero_iterations": 6}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-3.881, -3.879, -3.878], [-3.879, -3.879, -3.878]], "learning_rate": [0.008, 5.024e-05], "lr_factor": 0.00628, "shared_machine": {"seconds_per_iteration": 0.78, "peak_gpu_mib": 11643.5, "seconds": 75.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/schedule/cosine", "group": "recipe", "method": "GraspNet-baseline", "sets": ["schedule=cosine"], "slot": "schedule", "component": "CosineAnnealingLR", "variant": "cosine", "verdict": "runs", "judge": 2, "config_hash": "6a1b492725d45fe2", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set schedule=cosine -o recipe__GraspNet-baseline__schedule__cosine.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__schedule__cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [458, 183], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5839], "loss/view": [0.2001, 0.09474], "loss/score": [0.05519, 0.03374], "loss/angle": [0.53, 0.4897], "loss/width": [0.6388, 0.2412], "loss/tolerance": [1.188, 0.5737], "loss": [3.374, 2.017]}, "trend": {"loss/objectness": [0.7623, 0.5824, 0.236], "loss/view": [0.2001, 0.09307, 0.535], "loss/score": [0.05519, 0.03476, 0.37], "loss/angle": [0.53, 0.4798, 0.095], "loss/width": [0.6388, 0.2261, 0.646], "loss/tolerance": [1.188, 0.5164, 0.565], "loss": [3.374, 1.933, 0.427]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-19.87, -1.25, 12.89], [-11.75, -0.8439, 14.58]], "learning_rate": [0.001, 9.64e-05], "lr_factor": 0.0964, "shared_machine": {"seconds_per_iteration": 0.196, "peak_gpu_mib": 3972.1, "seconds": 10.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/schedule/cosine", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["schedule=cosine"], "slot": "schedule", "component": "CosineAnnealingLR", "variant": "cosine", "verdict": "runs", "judge": 2, "config_hash": "6e39897a72b5daf3", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set schedule=cosine -o recipe__Scale-Balanced-Grasp__schedule__cosine.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__schedule__cosine.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [87, 16], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3258], "loss/view": [0.2608, 0.1296], "loss/score": [0.05227, 0.02271], "loss/angle": [0.4856, 0.4405], "loss/width": [0.5501, 0.1958], "loss/tolerance": [0.9566, 0.3817], "loss": [3.065, 1.496]}, "trend": {"loss/objectness": [0.7596, 0.3189, 0.58], "loss/view": [0.2608, 0.1419, 0.456], "loss/score": [0.05227, 0.02045, 0.609], "loss/angle": [0.4856, 0.4332, 0.108], "loss/width": [0.5501, 0.2062, 0.625], "loss/tolerance": [0.9566, 0.3946, 0.587], "loss": [3.065, 1.515, 0.506]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-1.789, 0.1691, 2.648], [-0.5305, 0.1674, 1.126]], "learning_rate": [0.001, 9.64e-05], "lr_factor": 0.0964, "shared_machine": {"seconds_per_iteration": 0.366, "peak_gpu_mib": 9615.8, "seconds": 14.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/schedule/cosine", "group": "recipe", "method": "HGGD", "sets": ["schedule=cosine"], "slot": "schedule", "component": "CosineAnnealingLR", "variant": "cosine", "verdict": "runs", "judge": 2, "config_hash": "0e36830a740e210e", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set schedule=cosine -o recipe__HGGD__schedule__cosine.yaml", "probe": "grasppanda probe recipe__HGGD__schedule__cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [384, 312], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.63], "loss/angle": [4942.0, 214.6], "loss/offsets": [0.9016, 0.525], "loss/anchor": [85.42, 2.663], "loss/anchor_offset": [1.376, 2.157], "loss": [7459.0, 224.6]}, "trend": {"loss/heatmap": [2429.0, 5.139, 0.998], "loss/angle": [4942.0, 201.8, 0.959], "loss/offsets": [0.9016, 0.5407, 0.4], "loss/anchor": [85.42, 2.707, 0.968], "loss/anchor_offset": [1.376, 1.225, 0.11], "loss": [7459.0, 211.4, 0.972]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.00614, 0.007905, 0.0316], [0.006133, 0.007686, 0.02683]], "learning_rate": [0.01, 0.0002457], "lr_factor": 0.02457, "shared_machine": {"seconds_per_iteration": 0.639, "peak_gpu_mib": 8203.8, "seconds": 20.2}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/schedule/multistep-warmup", "group": "recipe", "method": "GSNet", "sets": ["schedule=multistep-warmup"], "slot": "schedule", "component": "TimmSchedule", "variant": "multistep-warmup", "verdict": "runs", "judge": 2, "config_hash": "e739544c0c49a185", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set schedule=multistep-warmup -o recipe__GSNet__schedule__multistep-warmup.yaml", "probe": "grasppanda probe recipe__GSNet__schedule__multistep-warmup.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6846], "loss/graspness": [5.176, 0.4648], "loss/view": [6.291, 0.3197], "loss/score": [1.515, 0.1594], "loss/width": [3.654, 0.4875], "loss": [17.43, 2.116]}, "trend": {"loss/objectness": [0.7893, 0.7025, 0.11], "loss/graspness": [5.176, 0.5243, 0.899], "loss/view": [6.291, 0.3152, 0.95], "loss/score": [1.515, 0.1704, 0.888], "loss/width": [3.654, 0.454, 0.876], "loss": [17.43, 2.166, 0.876]}, "real_seeds": {"min": 0.494, "mean": 0.957, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.08047, 0.1279, 0.1908], [0.075, 0.1335, 0.221]], "learning_rate": [0.0001, 1e-05], "lr_factor": 0.1, "shared_machine": {"seconds_per_iteration": 0.19, "peak_gpu_mib": 1841.5, "seconds": 28.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/schedule/multistep-warmup", "group": "recipe", "method": "EconomicGrasp", "sets": ["schedule=multistep-warmup"], "slot": "schedule", "component": "TimmSchedule", "variant": "multistep-warmup", "verdict": "runs", "judge": 2, "config_hash": "35d63496c3448eca", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set schedule=multistep-warmup -o recipe__EconomicGrasp__schedule__multistep-warmup.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__schedule__multistep-warmup.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6807], "loss/graspness": [5.216, 0.5451], "loss/view": [6.545, 0.7219], "loss/angle": [3.303, 0.7536], "loss/depth": [2.236, 0.4135], "loss/score": [2.117, 0.631], "loss/width": [8.756, 1.72], "loss": [28.96, 5.466]}, "trend": {"loss/objectness": [0.7845, 0.6908, 0.119], "loss/graspness": [5.216, 0.6161, 0.882], "loss/view": [6.545, 0.7284, 0.889], "loss/angle": [3.303, 0.7207, 0.782], "loss/depth": [2.236, 0.3903, 0.825], "loss/score": [2.117, 0.5977, 0.718], "loss/width": [8.756, 1.693, 0.807], "loss": [28.96, 5.437, 0.812]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.094, "mean": 0.112, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.046, -2.702, -1.672], [-3.123, -2.745, -1.756]], "learning_rate": [0.0001, 1e-05], "lr_factor": 0.1, "shared_machine": {"seconds_per_iteration": 0.869, "peak_gpu_mib": 2066.2, "seconds": 35.4}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/schedule/multistep-warmup", "group": "recipe", "method": "FineGrasp", "sets": ["schedule=multistep-warmup"], "slot": "schedule", "component": "TimmSchedule", "variant": "multistep-warmup", "verdict": "runs-unstable", "judge": 2, "config_hash": "63e311591bb22956", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set schedule=multistep-warmup -o recipe__FineGrasp__schedule__multistep-warmup.yaml", "unstable": "2 of 20 iterations had no real seed (iteration 3, 4).", "probe": "grasppanda probe recipe__FineGrasp__schedule__multistep-warmup.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "1 of 20 iterations had no real seed (iteration 3).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.8058, 0.6935], "loss/graspness": [2.473, 0.44], "loss/view": [5.497, 0.669], "loss/angle": [1.429, 0.7066], "loss/depth": [2.039, 0.4181], "loss/score": [2.563, 0.568], "loss/width": [4.953, 3.016], "loss": [19.76, 6.512]}, "trend": {"loss/objectness": [0.8058, 0.6964, 0.136], "loss/graspness": [2.473, 0.4563, 0.816], "loss/view": [5.497, 0.6688, 0.878], "loss/angle": [1.429, 0.6689, 0.532], "loss/depth": [2.039, 0.3886, 0.809], "loss/score": [2.563, 0.5702, 0.778], "loss/width": [4.953, 3.431, 0.307], "loss": [19.76, 6.88, 0.652]}, "active": {"loss/view": 19, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-0.9733, -0.9732, -0.9731], [-0.9733, -0.9732, -0.9732]]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.7057], "loss/graspness": [2.473, 5.789], "loss/view": [5.497, 0.6739], "loss/angle": [1.429, 0.6483], "loss/depth": [2.039, 0.3713], "loss/score": [2.563, 0.5611], "loss/width": [4.953, 5.134], "loss": [19.76, 13.88]}, "trend": {"loss/objectness": [0.8058, 0.7097, 0.119], "loss/graspness": [2.473, 5.955, -1.408], "loss/view": [5.497, 0.6727, 0.878], "loss/angle": [1.429, 0.6639, 0.535], "loss/depth": [2.039, 0.3919, 0.808], "loss/score": [2.563, 0.591, 0.769], "loss/width": [4.953, 5.528, -0.116], "loss": [19.76, 14.51, 0.266]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "real_seeds": {"min": 0.0, "mean": 0.9, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.094, "zero_iterations": 2}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.019, -1.019, -1.019], [-1.019, -1.019, -1.019]], "learning_rate": [0.0001, 8e-05], "lr_factor": 0.8, "shared_machine": {"seconds_per_iteration": 0.739, "peak_gpu_mib": 11643.5, "seconds": 71.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/schedule/multistep-warmup", "group": "recipe", "method": "GraspNet-baseline", "sets": ["schedule=multistep-warmup"], "slot": "schedule", "component": "TimmSchedule", "variant": "multistep-warmup", "verdict": "runs", "judge": 2, "config_hash": "b58998b6b7781ae3", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set schedule=multistep-warmup -o recipe__GraspNet-baseline__schedule__multistep-warmup.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__schedule__multistep-warmup.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [606, 864], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5802], "loss/view": [0.2001, 0.09162], "loss/score": [0.05519, 0.04467], "loss/angle": [0.53, 0.4749], "loss/width": [0.6388, 0.2422], "loss/tolerance": [1.188, 0.5852], "loss": [3.374, 2.019]}, "trend": {"loss/objectness": [0.7623, 0.6268, 0.178], "loss/view": [0.2001, 0.1029, 0.486], "loss/score": [0.05519, 0.043, 0.221], "loss/angle": [0.53, 0.4744, 0.105], "loss/width": [0.6388, 0.2348, 0.632], "loss/tolerance": [1.188, 0.6123, 0.485], "loss": [3.374, 2.094, 0.379]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-22.7, 1.631, 18.03], [-20.31, 0.7506, 18.69]], "learning_rate": [0.0001, 0.001], "lr_factor": 10.0, "shared_machine": {"seconds_per_iteration": 0.155, "peak_gpu_mib": 3972.1, "seconds": 10.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/schedule/multistep-warmup", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["schedule=multistep-warmup"], "slot": "schedule", "component": "TimmSchedule", "variant": "multistep-warmup", "verdict": "runs-empty", "judge": 2, "config_hash": "d989297fd3a9c17a", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set schedule=multistep-warmup -o recipe__Scale-Balanced-Grasp__schedule__multistep-warmup.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__schedule__multistep-warmup.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3059], "loss/view": [0.2608, 0.121], "loss/score": [0.05227, 0.02385], "loss/angle": [0.4856, 0.4142], "loss/width": [0.5501, 0.1823], "loss/tolerance": [0.9566, 0.3726], "loss": [3.065, 1.42]}, "trend": {"loss/objectness": [0.7596, 0.3074, 0.595], "loss/view": [0.2608, 0.1389, 0.467], "loss/score": [0.05227, 0.02149, 0.589], "loss/angle": [0.4856, 0.4177, 0.14], "loss/width": [0.5501, 0.1977, 0.641], "loss/tolerance": [0.9566, 0.3828, 0.6], "loss": [3.065, 1.466, 0.522]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.0001, 0.001], "lr_factor": 10.0, "shared_machine": {"seconds_per_iteration": 0.307, "peak_gpu_mib": 9615.8, "seconds": 13.9}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/schedule/multistep-warmup", "group": "recipe", "method": "HGGD", "sets": ["schedule=multistep-warmup"], "slot": "schedule", "component": "TimmSchedule", "variant": "multistep-warmup", "verdict": "runs", "judge": 2, "config_hash": "20394299571c4fc7", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set schedule=multistep-warmup -o recipe__HGGD__schedule__multistep-warmup.yaml", "probe": "grasppanda probe recipe__HGGD__schedule__multistep-warmup.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [360, 380], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.705], "loss/angle": [4942.0, 296.5], "loss/offsets": [0.9016, 0.437], "loss/anchor": [85.42, 2.595], "loss/anchor_offset": [1.376, 2.049], "loss": [7459.0, 306.3]}, "trend": {"loss/heatmap": [2429.0, 5.398, 0.998], "loss/angle": [4942.0, 292.3, 0.941], "loss/offsets": [0.9016, 0.4342, 0.518], "loss/anchor": [85.42, 2.618, 0.969], "loss/anchor_offset": [1.376, 1.645, -0.196], "loss": [7459.0, 302.4, 0.959]}, "flags": {"loss/anchor_offset": ["rising"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.006699, 0.008482, 0.01584], [0.006699, 0.008569, 0.01628]], "learning_rate": [0.0001, 0.0001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.524, "peak_gpu_mib": 8222.7, "seconds": 19.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/schedule/onecycle", "group": "recipe", "method": "GSNet", "sets": ["schedule=onecycle"], "slot": "schedule", "component": "OneCycleLR", "variant": "onecycle", "verdict": "runs", "judge": 2, "config_hash": "647ac7cfd89205b0", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set schedule=onecycle -o recipe__GSNet__schedule__onecycle.yaml", "probe": "grasppanda probe recipe__GSNet__schedule__onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6909], "loss/graspness": [5.176, 0.4333], "loss/view": [6.291, 0.3564], "loss/score": [1.515, 0.1145], "loss/width": [3.654, 0.4166], "loss": [17.43, 2.012]}, "trend": {"loss/objectness": [0.7893, 0.6785, 0.14], "loss/graspness": [5.176, 0.4307, 0.917], "loss/view": [6.291, 0.3572, 0.943], "loss/score": [1.515, 0.1287, 0.915], "loss/width": [3.654, 0.391, 0.893], "loss": [17.43, 1.986, 0.886]}, "real_seeds": {"min": 0.576, "mean": 0.961, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.07427, 0.1222, 0.1992], [0.06773, 0.1289, 0.2551]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.203, "peak_gpu_mib": 1841.5, "seconds": 39.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/schedule/onecycle", "group": "recipe", "method": "EconomicGrasp", "sets": ["schedule=onecycle"], "slot": "schedule", "component": "OneCycleLR", "variant": "onecycle", "verdict": "runs", "judge": 2, "config_hash": "f344f6d08d29f25f", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set schedule=onecycle -o recipe__EconomicGrasp__schedule__onecycle.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__schedule__onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6857], "loss/graspness": [5.216, 0.5422], "loss/view": [6.545, 0.7659], "loss/angle": [3.303, 0.7993], "loss/depth": [2.236, 0.4888], "loss/score": [2.117, 0.6988], "loss/width": [8.756, 0.9829], "loss": [28.96, 4.964]}, "trend": {"loss/objectness": [0.7845, 0.6808, 0.132], "loss/graspness": [5.216, 0.5884, 0.887], "loss/view": [6.545, 0.7608, 0.884], "loss/angle": [3.303, 0.732, 0.778], "loss/depth": [2.236, 0.4195, 0.812], "loss/score": [2.117, 0.6316, 0.702], "loss/width": [8.756, 0.9984, 0.886], "loss": [28.96, 4.811, 0.834]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.115, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.121, -2.713, -1.888], [-3.099, -2.725, -1.255]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.235, "peak_gpu_mib": 2066.2, "seconds": 38.3}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/schedule/onecycle", "group": "recipe", "method": "FineGrasp", "sets": ["schedule=onecycle"], "slot": "schedule", "component": "OneCycleLR", "variant": "onecycle", "verdict": "runs", "judge": 2, "config_hash": "d702519806104e4f", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set schedule=onecycle -o recipe__FineGrasp__schedule__onecycle.yaml", "probe": "grasppanda probe recipe__FineGrasp__schedule__onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6627], "loss/graspness": [2.473, 0.2714], "loss/view": [5.497, 0.6698], "loss/angle": [1.429, 0.7265], "loss/depth": [2.039, 0.3812], "loss/score": [2.563, 0.6283], "loss/width": [4.953, 0.6841], "loss": [19.76, 4.024]}, "trend": {"loss/objectness": [0.8058, 0.6629, 0.177], "loss/graspness": [2.473, 0.2729, 0.89], "loss/view": [5.497, 0.6728, 0.878], "loss/angle": [1.429, 0.7443, 0.479], "loss/depth": [2.039, 0.4145, 0.797], "loss/score": [2.563, 0.636, 0.752], "loss/width": [4.953, 0.6923, 0.86], "loss": [19.76, 4.096, 0.793]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.076, "mean": 0.123, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.343, -1.289, -1.175], [-1.347, -1.294, -1.232]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.829, "peak_gpu_mib": 11643.5, "seconds": 77.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/schedule/onecycle", "group": "recipe", "method": "GraspNet-baseline", "sets": ["schedule=onecycle"], "slot": "schedule", "component": "OneCycleLR", "variant": "onecycle", "verdict": "runs", "judge": 2, "config_hash": "2c5611303965f55e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set schedule=onecycle -o recipe__GraspNet-baseline__schedule__onecycle.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__schedule__onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [433, 127], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.59], "loss/view": [0.2001, 0.1082], "loss/score": [0.05519, 0.04532], "loss/angle": [0.53, 0.4788], "loss/width": [0.6388, 0.2364], "loss/tolerance": [1.188, 0.676], "loss": [3.374, 2.135]}, "trend": {"loss/objectness": [0.7623, 0.598, 0.216], "loss/view": [0.2001, 0.1071, 0.465], "loss/score": [0.05519, 0.03961, 0.282], "loss/angle": [0.53, 0.4767, 0.1], "loss/width": [0.6388, 0.2327, 0.636], "loss/tolerance": [1.188, 0.6027, 0.493], "loss": [3.374, 2.057, 0.39]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-19.76, -0.2051, 13.39], [-10.73, -0.2451, 14.51]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.219, "peak_gpu_mib": 3972.1, "seconds": 11.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/schedule/onecycle", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["schedule=onecycle"], "slot": "schedule", "component": "OneCycleLR", "variant": "onecycle", "verdict": "runs", "judge": 2, "config_hash": "4c0fe5d2c497bf77", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set schedule=onecycle -o recipe__Scale-Balanced-Grasp__schedule__onecycle.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__schedule__onecycle.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1, 29], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3334], "loss/view": [0.2608, 0.1316], "loss/score": [0.05227, 0.02988], "loss/angle": [0.4856, 0.4304], "loss/width": [0.5501, 0.2664], "loss/tolerance": [0.9566, 0.4009], "loss": [3.065, 1.593]}, "trend": {"loss/objectness": [0.7596, 0.3254, 0.572], "loss/view": [0.2608, 0.1428, 0.453], "loss/score": [0.05227, 0.02377, 0.545], "loss/angle": [0.4856, 0.4322, 0.11], "loss/width": [0.5501, 0.2269, 0.588], "loss/tolerance": [0.9566, 0.4254, 0.555], "loss": [3.065, 1.576, 0.486]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[0.1877, 0.1877, 0.1877], [-1.458, -0.0912, 3.447]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.35, "peak_gpu_mib": 9615.8, "seconds": 14.2}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/schedule/onecycle", "group": "recipe", "method": "HGGD", "sets": ["schedule=onecycle"], "slot": "schedule", "component": "OneCycleLR", "variant": "onecycle", "verdict": "runs", "judge": 2, "config_hash": "1e7a931e4f2d1ea2", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set schedule=onecycle -o recipe__HGGD__schedule__onecycle.yaml", "probe": "grasppanda probe recipe__HGGD__schedule__onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [335, 360], "frames": 8, "losses": {"loss/heatmap": [2429.0, 384.7], "loss/angle": [4942.0, 704.8], "loss/offsets": [0.9016, 0.599], "loss/anchor": [85.42, 51.84], "loss/anchor_offset": [1.376, 0.5197], "loss": [7459.0, 1142.0]}, "trend": {"loss/heatmap": [2429.0, 390.4, 0.839], "loss/angle": [4942.0, 651.4, 0.868], "loss/offsets": [0.9016, 0.6229, 0.309], "loss/anchor": [85.42, 51.39, 0.398], "loss/anchor_offset": [1.376, 0.5885, 0.572], "loss": [7459.0, 1094.0, 0.853]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.3923, 0.4925, 0.6339], [0.4173, 0.4939, 0.6299]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.586, "peak_gpu_mib": 7859.8, "seconds": 20.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/schedule/poly", "group": "recipe", "method": "GSNet", "sets": ["schedule=poly"], "slot": "schedule", "component": "TimmSchedule", "variant": "poly", "verdict": "runs", "judge": 2, "config_hash": "d1e54b597ad585e7", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set schedule=poly -o recipe__GSNet__schedule__poly.yaml", "probe": "grasppanda probe recipe__GSNet__schedule__poly.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6358], "loss/graspness": [5.176, 0.4128], "loss/view": [6.291, 0.375], "loss/score": [1.515, 0.1237], "loss/width": [3.654, 0.3125], "loss": [17.43, 1.86]}, "trend": {"loss/objectness": [0.7893, 0.6402, 0.189], "loss/graspness": [5.176, 0.4221, 0.918], "loss/view": [6.291, 0.3791, 0.94], "loss/score": [1.515, 0.1364, 0.91], "loss/width": [3.654, 0.3153, 0.914], "loss": [17.43, 1.893, 0.891]}, "real_seeds": {"min": 0.741, "mean": 0.966, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09046, 0.1555, 0.2913], [0.09158, 0.1639, 0.3542]], "learning_rate": [1e-06, 6.746e-05], "lr_factor": 67.46, "shared_machine": {"seconds_per_iteration": 0.177, "peak_gpu_mib": 1841.5, "seconds": 27.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/schedule/poly", "group": "recipe", "method": "EconomicGrasp", "sets": ["schedule=poly"], "slot": "schedule", "component": "TimmSchedule", "variant": "poly", "verdict": "runs", "judge": 2, "config_hash": "2048aab95f934341", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set schedule=poly -o recipe__EconomicGrasp__schedule__poly.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__schedule__poly.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6807], "loss/graspness": [5.216, 0.4944], "loss/view": [6.545, 0.7493], "loss/angle": [3.303, 0.6719], "loss/depth": [2.236, 0.3875], "loss/score": [2.117, 0.5541], "loss/width": [8.756, 0.6397], "loss": [28.96, 4.178]}, "trend": {"loss/objectness": [0.7845, 0.6872, 0.124], "loss/graspness": [5.216, 0.6003, 0.885], "loss/view": [6.545, 0.7597, 0.884], "loss/angle": [3.303, 0.7093, 0.785], "loss/depth": [2.236, 0.3939, 0.824], "loss/score": [2.117, 0.601, 0.716], "loss/width": [8.756, 0.7058, 0.919], "loss": [28.96, 4.457, 0.846]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.112, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.077, -2.739, -2.13], [-3.107, -2.716, -1.906]], "learning_rate": [1e-06, 6.746e-05], "lr_factor": 67.46, "shared_machine": {"seconds_per_iteration": 0.911, "peak_gpu_mib": 2066.2, "seconds": 37.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/schedule/poly", "group": "recipe", "method": "FineGrasp", "sets": ["schedule=poly"], "slot": "schedule", "component": "TimmSchedule", "variant": "poly", "verdict": "runs-unstable", "judge": 2, "config_hash": "9f80449b03ee4ae5", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set schedule=poly -o recipe__FineGrasp__schedule__poly.yaml", "unstable": "2 of 20 iterations had no real seed (iteration 3, 4).", "probe": "grasppanda probe recipe__FineGrasp__schedule__poly.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 3, 4).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.8058, 0.6673], "loss/graspness": [2.473, 0.6732], "loss/view": [5.497, 0.6396], "loss/angle": [1.429, 0.8113], "loss/depth": [2.039, 0.4434], "loss/score": [2.563, 0.6772], "loss/width": [4.953, 0.8284], "loss": [19.76, 4.74]}, "trend": {"loss/objectness": [0.8058, 0.6679, 0.171], "loss/graspness": [2.473, 0.8086, 0.673], "loss/view": [5.497, 0.6434, 0.883], "loss/angle": [1.429, 0.738, 0.484], "loss/depth": [2.039, 0.409, 0.799], "loss/score": [2.563, 0.633, 0.753], "loss/width": [4.953, 0.7712, 0.844], "loss": [19.76, 4.797, 0.757]}, "active": {"loss/view": 18, "loss/angle": 15, "loss/depth": 15, "loss/score": 15, "loss/width": 15}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.689, -2.687, -2.681], [-2.689, -2.687, -2.683]]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6672], "loss/graspness": [2.473, 0.6885], "loss/view": [5.497, 0.6414], "loss/angle": [1.429, 0.7058], "loss/depth": [2.039, 0.3908], "loss/score": [2.563, 0.6237], "loss/width": [4.953, 0.749], "loss": [19.76, 4.466]}, "trend": {"loss/objectness": [0.8058, 0.6678, 0.171], "loss/graspness": [2.473, 0.8153, 0.67], "loss/view": [5.497, 0.6446, 0.883], "loss/angle": [1.429, 0.7297, 0.489], "loss/depth": [2.039, 0.3996, 0.804], "loss/score": [2.563, 0.6391, 0.751], "loss/width": [4.953, 0.7624, 0.846], "loss": [19.76, 4.785, 0.758]}, "active": {"loss/view": 18, "loss/angle": 15, "loss/depth": 15, "loss/score": 15, "loss/width": 15}, "real_seeds": {"min": 0.0, "mean": 0.75, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.085, "zero_iterations": 5}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.63, -2.628, -2.623], [-2.63, -2.628, -2.62]], "learning_rate": [1e-06, 0.0005397], "lr_factor": 539.7, "shared_machine": {"seconds_per_iteration": 0.705, "peak_gpu_mib": 11643.5, "seconds": 75.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/schedule/poly", "group": "recipe", "method": "GraspNet-baseline", "sets": ["schedule=poly"], "slot": "schedule", "component": "TimmSchedule", "variant": "poly", "verdict": "runs", "judge": 2, "config_hash": "5f0952e85f64fb55", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set schedule=poly -o recipe__GraspNet-baseline__schedule__poly.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__schedule__poly.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [315, 285], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5812], "loss/view": [0.2001, 0.1038], "loss/score": [0.05519, 0.0441], "loss/angle": [0.53, 0.4845], "loss/width": [0.6388, 0.2761], "loss/tolerance": [1.188, 0.6176], "loss": [3.374, 2.107]}, "trend": {"loss/objectness": [0.7623, 0.6017, 0.211], "loss/view": [0.2001, 0.1052, 0.474], "loss/score": [0.05519, 0.03727, 0.325], "loss/angle": [0.53, 0.4882, 0.079], "loss/width": [0.6388, 0.2459, 0.615], "loss/tolerance": [1.188, 0.5737, 0.517], "loss": [3.374, 2.052, 0.392]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-21.45, -0.3372, 12.9], [-31.13, 0.02104, 18.36]], "learning_rate": [1e-06, 6.746e-05], "lr_factor": 67.46, "shared_machine": {"seconds_per_iteration": 0.146, "peak_gpu_mib": 3972.1, "seconds": 10.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/schedule/poly", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["schedule=poly"], "slot": "schedule", "component": "TimmSchedule", "variant": "poly", "verdict": "runs", "judge": 2, "config_hash": "ad9e4540787fca9d", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set schedule=poly -o recipe__Scale-Balanced-Grasp__schedule__poly.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__schedule__poly.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [76, 16], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3295], "loss/view": [0.2608, 0.1279], "loss/score": [0.05227, 0.024], "loss/angle": [0.4856, 0.4272], "loss/width": [0.5501, 0.2285], "loss/tolerance": [0.9566, 0.3411], "loss": [3.065, 1.478]}, "trend": {"loss/objectness": [0.7596, 0.3218, 0.576], "loss/view": [0.2608, 0.1408, 0.46], "loss/score": [0.05227, 0.02274, 0.565], "loss/angle": [0.4856, 0.4295, 0.116], "loss/width": [0.5501, 0.2204, 0.599], "loss/tolerance": [0.9566, 0.3739, 0.609], "loss": [3.065, 1.509, 0.508]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-4.312, -0.2363, 2.559], [-1.543, -0.335, 2.059]], "learning_rate": [1e-06, 6.746e-05], "lr_factor": 67.46, "shared_machine": {"seconds_per_iteration": 0.336, "peak_gpu_mib": 9615.8, "seconds": 14.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/schedule/poly", "group": "recipe", "method": "HGGD", "sets": ["schedule=poly"], "slot": "schedule", "component": "TimmSchedule", "variant": "poly", "verdict": "runs", "judge": 2, "config_hash": "6ea7f8d041f2a5dc", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set schedule=poly -o recipe__HGGD__schedule__poly.yaml", "probe": "grasppanda probe recipe__HGGD__schedule__poly.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [371, 348], "frames": 8, "losses": {"loss/heatmap": [2429.0, 5.013], "loss/angle": [4942.0, 188.3], "loss/offsets": [0.9016, 0.5032], "loss/anchor": [85.42, 2.382], "loss/anchor_offset": [1.376, 1.451], "loss": [7459.0, 197.6]}, "trend": {"loss/heatmap": [2429.0, 4.44, 0.998], "loss/angle": [4942.0, 186.9, 0.962], "loss/offsets": [0.9016, 0.5078, 0.437], "loss/anchor": [85.42, 2.388, 0.972], "loss/anchor_offset": [1.376, 1.017, 0.261], "loss": [7459.0, 195.3, 0.974]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.009832, 0.01233, 0.03296], [0.009816, 0.01219, 0.03318]], "learning_rate": [0.01, 0.001259], "lr_factor": 0.1259, "shared_machine": {"seconds_per_iteration": 0.513, "peak_gpu_mib": 8222.7, "seconds": 19.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/schedule/warmup-cosine", "group": "recipe", "method": "GSNet", "sets": ["schedule=warmup-cosine"], "slot": "schedule", "component": "TimmSchedule", "variant": "warmup-cosine", "verdict": "runs", "judge": 2, "config_hash": "6da098c2bcded9d4", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set schedule=warmup-cosine -o recipe__GSNet__schedule__warmup-cosine.yaml", "probe": "grasppanda probe recipe__GSNet__schedule__warmup-cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.648], "loss/graspness": [5.176, 0.4097], "loss/view": [6.291, 0.402], "loss/score": [1.515, 0.13], "loss/width": [3.654, 0.4269], "loss": [17.43, 2.016]}, "trend": {"loss/objectness": [0.7893, 0.6434, 0.185], "loss/graspness": [5.176, 0.4047, 0.922], "loss/view": [6.291, 0.4095, 0.935], "loss/score": [1.515, 0.1382, 0.909], "loss/width": [3.654, 0.3797, 0.896], "loss": [17.43, 1.975, 0.887]}, "real_seeds": {"min": 0.514, "mean": 0.94, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09729, 0.1539, 0.2769], [0.09525, 0.1546, 0.2512]], "learning_rate": [1e-06, 7.15e-06], "lr_factor": 7.15, "shared_machine": {"seconds_per_iteration": 0.289, "peak_gpu_mib": 1841.5, "seconds": 30.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/schedule/warmup-cosine", "group": "recipe", "method": "EconomicGrasp", "sets": ["schedule=warmup-cosine"], "slot": "schedule", "component": "TimmSchedule", "variant": "warmup-cosine", "verdict": "runs", "judge": 2, "config_hash": "bd88ba9b0946be1d", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set schedule=warmup-cosine -o recipe__EconomicGrasp__schedule__warmup-cosine.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__schedule__warmup-cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6935], "loss/graspness": [5.216, 0.5281], "loss/view": [6.545, 0.767], "loss/angle": [3.303, 0.7025], "loss/depth": [2.236, 0.4147], "loss/score": [2.117, 0.6101], "loss/width": [8.756, 0.8681], "loss": [28.96, 4.584]}, "trend": {"loss/objectness": [0.7845, 0.6986, 0.11], "loss/graspness": [5.216, 0.5887, 0.887], "loss/view": [6.545, 0.7695, 0.882], "loss/angle": [3.303, 0.7034, 0.787], "loss/depth": [2.236, 0.4035, 0.82], "loss/score": [2.117, 0.6063, 0.714], "loss/width": [8.756, 0.8146, 0.907], "loss": [28.96, 4.585, 0.842]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.111, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.094, -2.734, -1.752], [-3.107, -2.739, -1.919]], "learning_rate": [1e-06, 7.15e-06], "lr_factor": 7.15, "shared_machine": {"seconds_per_iteration": 0.152, "peak_gpu_mib": 2066.2, "seconds": 27.3}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/schedule/warmup-cosine", "group": "recipe", "method": "FineGrasp", "sets": ["schedule=warmup-cosine"], "slot": "schedule", "component": "TimmSchedule", "variant": "warmup-cosine", "verdict": "runs-unstable", "judge": 2, "config_hash": "3b20dd8ba29fe572", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set schedule=warmup-cosine -o recipe__FineGrasp__schedule__warmup-cosine.yaml", "unstable": "2 of 20 iterations had no real seed (iteration 3, 4).", "probe": "grasppanda probe recipe__FineGrasp__schedule__warmup-cosine.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 3, 4).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.8058, 0.6697], "loss/graspness": [2.473, 0.4778], "loss/view": [5.497, 0.6533], "loss/angle": [1.429, 0.6945], "loss/depth": [2.039, 0.3845], "loss/score": [2.563, 0.5958], "loss/width": [4.953, 0.6262], "loss": [19.76, 4.102]}, "trend": {"loss/objectness": [0.8058, 0.6697, 0.169], "loss/graspness": [2.473, 0.4689, 0.81], "loss/view": [5.497, 0.6549, 0.881], "loss/angle": [1.429, 0.6606, 0.538], "loss/depth": [2.039, 0.3852, 0.811], "loss/score": [2.563, 0.589, 0.77], "loss/width": [4.953, 0.7772, 0.843], "loss": [19.76, 4.356, 0.78]}, "active": {"loss/view": 18, "loss/angle": 16, "loss/depth": 16, "loss/score": 16, "loss/width": 16}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.31, -2.292, -2.271], [-2.301, -2.291, -2.273]]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6702], "loss/graspness": [2.473, 0.4854], "loss/view": [5.497, 0.6574], "loss/angle": [1.429, 0.6568], "loss/depth": [2.039, 0.3839], "loss/score": [2.563, 0.5819], "loss/width": [4.953, 0.6854], "loss": [19.76, 4.121]}, "trend": {"loss/objectness": [0.8058, 0.67, 0.168], "loss/graspness": [2.473, 0.4734, 0.809], "loss/view": [5.497, 0.656, 0.881], "loss/angle": [1.429, 0.6774, 0.526], "loss/depth": [2.039, 0.3964, 0.806], "loss/score": [2.563, 0.586, 0.771], "loss/width": [4.953, 0.8275, 0.833], "loss": [19.76, 4.404, 0.777]}, "active": {"loss/view": 18, "loss/angle": 16, "loss/depth": 16, "loss/score": 16, "loss/width": 16}, "real_seeds": {"min": 0.0, "mean": 0.758, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.09, "zero_iterations": 4}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.452, -2.44, -2.437], [-2.446, -2.44, -2.437]], "learning_rate": [1e-06, 5.024e-05], "lr_factor": 50.24, "shared_machine": {"seconds_per_iteration": 0.824, "peak_gpu_mib": 11643.5, "seconds": 75.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/schedule/warmup-cosine", "group": "recipe", "method": "GraspNet-baseline", "sets": ["schedule=warmup-cosine"], "slot": "schedule", "component": "TimmSchedule", "variant": "warmup-cosine", "verdict": "runs", "judge": 2, "config_hash": "737a1a0ea61ee2c8", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set schedule=warmup-cosine -o recipe__GraspNet-baseline__schedule__warmup-cosine.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__schedule__warmup-cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [541, 546], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5683], "loss/view": [0.2001, 0.1081], "loss/score": [0.05519, 0.03782], "loss/angle": [0.53, 0.4918], "loss/width": [0.6388, 0.3022], "loss/tolerance": [1.188, 0.5982], "loss": [3.374, 2.106]}, "trend": {"loss/objectness": [0.7623, 0.5925, 0.223], "loss/view": [0.2001, 0.1071, 0.465], "loss/score": [0.05519, 0.03969, 0.281], "loss/angle": [0.53, 0.4939, 0.068], "loss/width": [0.6388, 0.2579, 0.596], "loss/tolerance": [1.188, 0.5971, 0.497], "loss": [3.374, 2.088, 0.381]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-17.83, -0.2309, 10.86], [-15.26, -0.2039, 14.35]], "learning_rate": [1e-06, 7.15e-06], "lr_factor": 7.15, "shared_machine": {"seconds_per_iteration": 0.187, "peak_gpu_mib": 3972.1, "seconds": 11.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/schedule/warmup-cosine", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["schedule=warmup-cosine"], "slot": "schedule", "component": "TimmSchedule", "variant": "warmup-cosine", "verdict": "runs", "judge": 2, "config_hash": "4644d07adaa5b799", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set schedule=warmup-cosine -o recipe__Scale-Balanced-Grasp__schedule__warmup-cosine.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__schedule__warmup-cosine.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [36, 5], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3366], "loss/view": [0.2608, 0.1331], "loss/score": [0.05227, 0.02584], "loss/angle": [0.4856, 0.4225], "loss/width": [0.5501, 0.2501], "loss/tolerance": [0.9566, 0.3937], "loss": [3.065, 1.562]}, "trend": {"loss/objectness": [0.7596, 0.3253, 0.572], "loss/view": [0.2608, 0.1437, 0.449], "loss/score": [0.05227, 0.02422, 0.537], "loss/angle": [0.4856, 0.4244, 0.126], "loss/width": [0.5501, 0.2416, 0.561], "loss/tolerance": [0.9566, 0.4093, 0.572], "loss": [3.065, 1.569, 0.488]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-2.98, -0.1033, 3.552], [0.198, 2.464, 4.463]], "learning_rate": [1e-06, 7.15e-06], "lr_factor": 7.15, "shared_machine": {"seconds_per_iteration": 0.372, "peak_gpu_mib": 9615.8, "seconds": 14.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/schedule/warmup-cosine", "group": "recipe", "method": "HGGD", "sets": ["schedule=warmup-cosine"], "slot": "schedule", "component": "TimmSchedule", "variant": "warmup-cosine", "verdict": "runs", "judge": 2, "config_hash": "6726fae925d093a4", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set schedule=warmup-cosine -o recipe__HGGD__schedule__warmup-cosine.yaml", "probe": "grasppanda probe recipe__HGGD__schedule__warmup-cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [384, 279], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.625], "loss/angle": [4942.0, 215.5], "loss/offsets": [0.9016, 0.5232], "loss/anchor": [85.42, 2.649], "loss/anchor_offset": [1.376, 1.379], "loss": [7459.0, 224.6]}, "trend": {"loss/heatmap": [2429.0, 5.133, 0.998], "loss/angle": [4942.0, 202.4, 0.959], "loss/offsets": [0.9016, 0.5415, 0.399], "loss/anchor": [85.42, 2.696, 0.968], "loss/anchor_offset": [1.376, 1.494, -0.086], "loss": [7459.0, 212.2, 0.972]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.006319, 0.00772, 0.03023], [0.006187, 0.007733, 0.02909]], "learning_rate": [0.01, 0.0002457], "lr_factor": 0.02457, "shared_machine": {"seconds_per_iteration": 0.506, "peak_gpu_mib": 8217.7, "seconds": 20.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/hooks/accumulate-2", "group": "recipe", "method": "GSNet", "sets": ["hooks=accumulate-2"], "slot": "hooks", "component": "train options", "variant": "accumulate-2", "verdict": "runs", "judge": 2, "config_hash": "b8df08bd82412c96", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set hooks=accumulate-2 -o recipe__GSNet__hooks__accumulate-2.yaml", "probe": "grasppanda probe recipe__GSNet__hooks__accumulate-2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6284], "loss/graspness": [5.176, 0.5807], "loss/view": [6.291, 0.367], "loss/score": [1.515, 0.1593], "loss/width": [3.654, 0.3293], "loss": [17.43, 2.065]}, "trend": {"loss/objectness": [0.7893, 0.6301, 0.202], "loss/graspness": [5.176, 0.6223, 0.88], "loss/view": [6.291, 0.406, 0.935], "loss/score": [1.515, 0.1826, 0.879], "loss/width": [3.654, 0.3503, 0.904], "loss": [17.43, 2.191, 0.874]}, "real_seeds": {"min": 0.789, "mean": 0.965, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1327, 0.2078, 0.3089], [0.1282, 0.2209, 0.4334]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.243, "peak_gpu_mib": 1895.9, "seconds": 30.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/hooks/accumulate-2", "group": "recipe", "method": "EconomicGrasp", "sets": ["hooks=accumulate-2"], "slot": "hooks", "component": "train options", "variant": "accumulate-2", "verdict": "runs", "judge": 2, "config_hash": "98e09e2058636e9c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set hooks=accumulate-2 -o recipe__EconomicGrasp__hooks__accumulate-2.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__hooks__accumulate-2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6585], "loss/graspness": [5.216, 0.5892], "loss/view": [6.545, 0.727], "loss/angle": [3.303, 0.7113], "loss/depth": [2.236, 0.3328], "loss/score": [2.117, 0.5996], "loss/width": [8.756, 0.7209], "loss": [28.96, 4.339]}, "trend": {"loss/objectness": [0.7845, 0.6719, 0.144], "loss/graspness": [5.216, 0.6695, 0.872], "loss/view": [6.545, 0.7605, 0.884], "loss/angle": [3.303, 0.703, 0.787], "loss/depth": [2.236, 0.3983, 0.822], "loss/score": [2.117, 0.5984, 0.717], "loss/width": [8.756, 0.7549, 0.914], "loss": [28.96, 4.556, 0.843]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.571, -3.173, -2.367], [-3.529, -3.156, -2.049]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.19, "peak_gpu_mib": 2119.5, "seconds": 25.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/hooks/accumulate-2", "group": "recipe", "method": "FineGrasp", "sets": ["hooks=accumulate-2"], "slot": "hooks", "component": "train options", "variant": "accumulate-2", "verdict": "runs", "judge": 2, "config_hash": "102d398d0e2d4b85", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set hooks=accumulate-2 -o recipe__FineGrasp__hooks__accumulate-2.yaml", "probe": "grasppanda probe recipe__FineGrasp__hooks__accumulate-2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6266], "loss/graspness": [2.473, 0.2744], "loss/view": [5.497, 0.6], "loss/angle": [1.429, 1.005], "loss/depth": [2.039, 0.5316], "loss/score": [2.563, 0.857], "loss/width": [4.953, 0.8619], "loss": [19.76, 4.756]}, "trend": {"loss/objectness": [0.8058, 0.6309, 0.217], "loss/graspness": [2.473, 0.2864, 0.884], "loss/view": [5.497, 0.6129, 0.889], "loss/angle": [1.429, 1.012, 0.292], "loss/depth": [2.039, 0.5289, 0.741], "loss/score": [2.563, 0.8459, 0.67], "loss/width": [4.953, 0.8489, 0.829], "loss": [19.76, 4.765, 0.759]}, "real_seeds": {"min": 0.416, "mean": 0.938, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.108, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.674, -1.674, -1.674], [-1.674, -1.674, -1.674]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.744, "peak_gpu_mib": 11643.5, "seconds": 70.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/hooks/accumulate-2", "group": "recipe", "method": "GraspNet-baseline", "sets": ["hooks=accumulate-2"], "slot": "hooks", "component": "train options", "variant": "accumulate-2", "verdict": "runs", "judge": 2, "config_hash": "b9c5cd45473bf259", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set hooks=accumulate-2 -o recipe__GraspNet-baseline__hooks__accumulate-2.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__hooks__accumulate-2.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [433, 366], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5649], "loss/view": [0.2001, 0.1063], "loss/score": [0.05519, 0.04725], "loss/angle": [0.53, 0.491], "loss/width": [0.6388, 0.2183], "loss/tolerance": [1.188, 0.4842], "loss": [3.374, 1.912]}, "trend": {"loss/objectness": [0.7623, 0.5788, 0.241], "loss/view": [0.2001, 0.1072, 0.465], "loss/score": [0.05519, 0.04043, 0.267], "loss/angle": [0.53, 0.4855, 0.084], "loss/width": [0.6388, 0.2385, 0.627], "loss/tolerance": [1.188, 0.579, 0.513], "loss": [3.374, 2.029, 0.399]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-15.53, -0.03032, 35.92], [-31.24, -0.05202, 29.22]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.152, "peak_gpu_mib": 3975.6, "seconds": 10.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/hooks/accumulate-2", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["hooks=accumulate-2"], "slot": "hooks", "component": "train options", "variant": "accumulate-2", "verdict": "runs", "judge": 2, "config_hash": "8bcee47f50c407d3", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set hooks=accumulate-2 -o recipe__Scale-Balanced-Grasp__hooks__accumulate-2.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__hooks__accumulate-2.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [3, 11], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3527], "loss/view": [0.2608, 0.1317], "loss/score": [0.05227, 0.03085], "loss/angle": [0.4856, 0.4273], "loss/width": [0.5501, 0.245], "loss/tolerance": [0.9566, 0.3807], "loss": [3.065, 1.568]}, "trend": {"loss/objectness": [0.7596, 0.336, 0.558], "loss/view": [0.2608, 0.1436, 0.449], "loss/score": [0.05227, 0.026, 0.503], "loss/angle": [0.4856, 0.4406, 0.093], "loss/width": [0.5501, 0.2268, 0.588], "loss/tolerance": [0.9566, 0.4282, 0.552], "loss": [3.065, 1.601, 0.478]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.5853, 0.3569, 3.215], [0.4515, 2.715, 14.01]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.315, "peak_gpu_mib": 9620.2, "seconds": 13.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/hooks/accumulate-2", "group": "recipe", "method": "HGGD", "sets": ["hooks=accumulate-2"], "slot": "hooks", "component": "train options", "variant": "accumulate-2", "verdict": "runs", "judge": 2, "config_hash": "d4bf1430f845e44f", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set hooks=accumulate-2 -o recipe__HGGD__hooks__accumulate-2.yaml", "probed_as": "family/HGGD", "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/hooks/agc", "group": "recipe", "method": "GSNet", "sets": ["hooks=agc"], "slot": "hooks", "component": "AdaptiveGradClipHook", "variant": "agc", "verdict": "runs", "judge": 2, "config_hash": "ccc39f1c3c470601", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set hooks=agc -o recipe__GSNet__hooks__agc.yaml", "probe": "grasppanda probe recipe__GSNet__hooks__agc.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.4843], "loss/graspness": [5.176, 0.2321], "loss/view": [6.291, 0.38], "loss/score": [1.515, 0.07632], "loss/width": [3.654, 0.1856], "loss": [17.43, 1.358]}, "trend": {"loss/objectness": [0.7893, 0.5374, 0.319], "loss/graspness": [5.176, 0.2595, 0.95], "loss/view": [6.291, 0.3744, 0.94], "loss/score": [1.515, 0.08018, 0.947], "loss/width": [3.654, 0.2067, 0.943], "loss": [17.43, 1.458, 0.916]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09929, 0.1705, 0.279], [0.1034, 0.1702, 0.3472]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.239, "peak_gpu_mib": 1841.5, "seconds": 31.3}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/hooks/agc", "group": "recipe", "method": "EconomicGrasp", "sets": ["hooks=agc"], "slot": "hooks", "component": "AdaptiveGradClipHook", "variant": "agc", "verdict": "runs", "judge": 2, "config_hash": "eddf1b84250b0818", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set hooks=agc -o recipe__EconomicGrasp__hooks__agc.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__hooks__agc.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5381], "loss/graspness": [5.216, 0.2085], "loss/view": [6.545, 0.7126], "loss/angle": [3.303, 0.9574], "loss/depth": [2.236, 0.5141], "loss/score": [2.117, 0.8624], "loss/width": [8.756, 0.7646], "loss": [28.96, 4.558]}, "trend": {"loss/objectness": [0.7845, 0.5745, 0.268], "loss/graspness": [5.216, 0.2217, 0.957], "loss/view": [6.545, 0.6866, 0.895], "loss/angle": [3.303, 0.9005, 0.727], "loss/depth": [2.236, 0.4803, 0.785], "loss/score": [2.117, 0.7591, 0.641], "loss/width": [8.756, 0.7445, 0.915], "loss": [28.96, 4.367, 0.849]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.658, -3.214, -2.869], [-3.764, -3.203, -2.946]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.325, "peak_gpu_mib": 2066.2, "seconds": 44.0}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/hooks/agc", "group": "recipe", "method": "FineGrasp", "sets": ["hooks=agc"], "slot": "hooks", "component": "AdaptiveGradClipHook", "variant": "agc", "verdict": "runs", "judge": 2, "config_hash": "b5fbaaceda5a9115", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set hooks=agc -o recipe__FineGrasp__hooks__agc.yaml", "probe": "grasppanda probe recipe__FineGrasp__hooks__agc.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.5422], "loss/graspness": [2.473, 0.2349], "loss/view": [5.497, 0.7261], "loss/angle": [1.429, 1.12], "loss/depth": [2.039, 0.5818], "loss/score": [2.563, 0.9403], "loss/width": [4.953, 0.8995], "loss": [19.76, 5.045]}, "trend": {"loss/objectness": [0.8058, 0.5609, 0.304], "loss/graspness": [2.473, 0.2493, 0.899], "loss/view": [5.497, 0.6682, 0.878], "loss/angle": [1.429, 1.062, 0.257], "loss/depth": [2.039, 0.5515, 0.73], "loss/score": [2.563, 0.8941, 0.651], "loss/width": [4.953, 1.029, 0.792], "loss": [19.76, 5.015, 0.746]}, "flags": {"loss/angle": ["rising"]}, "real_seeds": {"min": 0.179, "mean": 0.888, "zero_iterations": 0}, "supervised_seeds": {"min": 0.004, "mean": 0.125, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.753, -1.752, -1.752], [-1.753, -1.752, -1.752]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.959, "peak_gpu_mib": 11643.5, "seconds": 82.3}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/hooks/agc", "group": "recipe", "method": "GraspNet-baseline", "sets": ["hooks=agc"], "slot": "hooks", "component": "AdaptiveGradClipHook", "variant": "agc", "verdict": "runs", "judge": 2, "config_hash": "e379f83d9462f499", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set hooks=agc -o recipe__GraspNet-baseline__hooks__agc.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__hooks__agc.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [405, 186], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5413], "loss/view": [0.2001, 0.07155], "loss/score": [0.05519, 0.02706], "loss/angle": [0.53, 0.4601], "loss/width": [0.6388, 0.1724], "loss/tolerance": [1.188, 0.4484], "loss": [3.374, 1.721]}, "trend": {"loss/objectness": [0.7623, 0.5779, 0.242], "loss/view": [0.2001, 0.07532, 0.624], "loss/score": [0.05519, 0.02847, 0.484], "loss/angle": [0.53, 0.4559, 0.14], "loss/width": [0.6388, 0.1569, 0.754], "loss/tolerance": [1.188, 0.4766, 0.599], "loss": [3.374, 1.771, 0.475]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-23.0, 0.2614, 36.16], [-22.83, -0.09397, 16.51]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.198, "peak_gpu_mib": 3972.1, "seconds": 11.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/hooks/agc", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["hooks=agc"], "slot": "hooks", "component": "AdaptiveGradClipHook", "variant": "agc", "verdict": "runs-empty", "judge": 2, "config_hash": "a6d947ed783f6652", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set hooks=agc -o recipe__Scale-Balanced-Grasp__hooks__agc.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__hooks__agc.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3289], "loss/view": [0.2608, 0.1073], "loss/score": [0.05227, 0.02216], "loss/angle": [0.4856, 0.4233], "loss/width": [0.5501, 0.1487], "loss/tolerance": [0.9566, 0.2044], "loss": [3.065, 1.235]}, "trend": {"loss/objectness": [0.7596, 0.3089, 0.593], "loss/view": [0.2608, 0.1221, 0.532], "loss/score": [0.05227, 0.01921, 0.633], "loss/angle": [0.4856, 0.428, 0.119], "loss/width": [0.5501, 0.1612, 0.707], "loss/tolerance": [0.9566, 0.2303, 0.759], "loss": [3.065, 1.27, 0.586]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.359, "peak_gpu_mib": 9615.8, "seconds": 14.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/hooks/agc", "group": "recipe", "method": "HGGD", "sets": ["hooks=agc"], "slot": "hooks", "component": "AdaptiveGradClipHook", "variant": "agc", "verdict": "runs", "judge": 2, "config_hash": "cba97431b2ebcabb", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set hooks=agc -o recipe__HGGD__hooks__agc.yaml", "probe": "grasppanda probe recipe__HGGD__hooks__agc.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [349, 350], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 138.0], "loss/angle": [4942.0, 46.65], "loss/offsets": [0.9016, 0.4825], "loss/anchor": [85.42, 1.591], "loss/anchor_offset": [1.376, 0.9017], "loss": [7459.0, 187.6]}, "trend": {"loss/heatmap": [2429.0, 57.25, 0.976], "loss/angle": [4942.0, 67.25, 0.986], "loss/offsets": [0.9016, 0.4986, 0.447], "loss/anchor": [85.42, 1.804, 0.979], "loss/anchor_offset": [1.376, 0.8274, 0.399], "loss": [7459.0, 127.6, 0.983]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.05403, 0.09598, 0.1467], [0.05403, 0.09252, 0.1453]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.504, "peak_gpu_mib": 8203.8, "seconds": 21.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/hooks/amp", "group": "recipe", "method": "GSNet", "sets": ["hooks=amp"], "slot": "hooks", "component": "train options", "variant": "amp", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set hooks=amp -o recipe__GSNet__hooks__amp.yaml", "refusal": ["train.amp: mixed precision is not supported by GSNet yet: its loss is not written for half-precision tensors (the detector does not declare `amp_ready = True`). Set `train.amp: false` (with `grasppanda compose`: leave `amp` out of `--set hooks=`)."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@0ddca31"},
  {"id": "recipe/EconomicGrasp/hooks/amp", "group": "recipe", "method": "EconomicGrasp", "sets": ["hooks=amp"], "slot": "hooks", "component": "train options", "variant": "amp", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set hooks=amp -o recipe__EconomicGrasp__hooks__amp.yaml", "refusal": ["train.amp: mixed precision is not supported by EconomicGrasp yet: its loss is not written for half-precision tensors (the detector does not declare `amp_ready = True`). Set `train.amp: false` (with `grasppanda compose`: leave `amp` out of `--set hooks=`)."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@0ddca31"},
  {"id": "recipe/FineGrasp/hooks/amp", "group": "recipe", "method": "FineGrasp", "sets": ["hooks=amp"], "slot": "hooks", "component": "train options", "variant": "amp", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set hooks=amp -o recipe__FineGrasp__hooks__amp.yaml", "refusal": ["train.amp: mixed precision is not supported by EconomicGrasp yet: its loss is not written for half-precision tensors (the detector does not declare `amp_ready = True`). Set `train.amp: false` (with `grasppanda compose`: leave `amp` out of `--set hooks=`)."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@0ddca31"},
  {"id": "recipe/GraspNet-baseline/hooks/amp", "group": "recipe", "method": "GraspNet-baseline", "sets": ["hooks=amp"], "slot": "hooks", "component": "train options", "variant": "amp", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set hooks=amp -o recipe__GraspNet-baseline__hooks__amp.yaml", "refusal": ["train.amp: mixed precision is not supported by GraspNetBaseline yet: its loss is not written for half-precision tensors (the detector does not declare `amp_ready = True`). Set `train.amp: false` (with `grasppanda compose`: leave `amp` out of `--set hooks=`)."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/hooks/amp", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["hooks=amp"], "slot": "hooks", "component": "train options", "variant": "amp", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set hooks=amp -o recipe__Scale-Balanced-Grasp__hooks__amp.yaml", "refusal": ["train.amp: mixed precision is not supported by ScaleBalancedGrasp yet: its loss is not written for half-precision tensors (the detector does not declare `amp_ready = True`). Set `train.amp: false` (with `grasppanda compose`: leave `amp` out of `--set hooks=`)."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/hooks/amp", "group": "recipe", "method": "HGGD", "sets": ["hooks=amp"], "slot": "hooks", "component": "train options", "variant": "amp", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set hooks=amp -o recipe__HGGD__hooks__amp.yaml", "refusal": ["train.amp: mixed precision is not supported by HGGD yet: its loss is not written for half-precision tensors (the detector does not declare `amp_ready = True`). Set `train.amp: false` (with `grasppanda compose`: leave `amp` out of `--set hooks=`)."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/hooks/ema", "group": "recipe", "method": "GSNet", "sets": ["hooks=ema"], "slot": "hooks", "component": "EMAHook", "variant": "ema", "verdict": "runs", "judge": 2, "config_hash": "9d4e76b8cac0e1c2", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set hooks=ema -o recipe__GSNet__hooks__ema.yaml", "probe": "grasppanda probe recipe__GSNet__hooks__ema.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [348, 384], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6201], "loss/graspness": [5.176, 0.4505], "loss/view": [6.291, 0.3184], "loss/score": [1.515, 0.09388], "loss/width": [3.654, 0.2162], "loss": [17.43, 1.699]}, "trend": {"loss/objectness": [0.7893, 0.6191, 0.216], "loss/graspness": [5.176, 0.3768, 0.927], "loss/view": [6.291, 0.3752, 0.94], "loss/score": [1.515, 0.09313, 0.939], "loss/width": [3.654, 0.2115, 0.942], "loss": [17.43, 1.676, 0.904]}, "real_seeds": {"min": 0.455, "mean": 0.924, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1167, 0.1747, 0.2613], [0.1074, 0.1828, 0.3961]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.292, "peak_gpu_mib": 1900.4, "seconds": 33.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/hooks/ema", "group": "recipe", "method": "EconomicGrasp", "sets": ["hooks=ema"], "slot": "hooks", "component": "EMAHook", "variant": "ema", "verdict": "runs", "judge": 2, "config_hash": "91d6010b0847e9eb", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set hooks=ema -o recipe__EconomicGrasp__hooks__ema.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__hooks__ema.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6286], "loss/graspness": [5.216, 0.269], "loss/view": [6.545, 0.6817], "loss/angle": [3.303, 0.7113], "loss/depth": [2.236, 0.4428], "loss/score": [2.117, 0.6268], "loss/width": [8.756, 0.6936], "loss": [28.96, 4.054]}, "trend": {"loss/objectness": [0.7845, 0.6171, 0.213], "loss/graspness": [5.216, 0.3278, 0.937], "loss/view": [6.545, 0.7111, 0.891], "loss/angle": [3.303, 0.7702, 0.767], "loss/depth": [2.236, 0.4555, 0.796], "loss/score": [2.117, 0.6633, 0.687], "loss/width": [8.756, 0.7024, 0.92], "loss": [28.96, 4.247, 0.853]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.137, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.541, -3.23, -2.895], [-3.559, -3.242, -2.946]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.781, "peak_gpu_mib": 2122.0, "seconds": 43.4}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/hooks/ema", "group": "recipe", "method": "FineGrasp", "sets": ["hooks=ema"], "slot": "hooks", "component": "EMAHook", "variant": "ema", "verdict": "runs", "judge": 2, "config_hash": "f943df13b98fb2f8", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set hooks=ema -o recipe__FineGrasp__hooks__ema.yaml", "probe": "grasppanda probe recipe__FineGrasp__hooks__ema.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6186], "loss/graspness": [2.473, 0.2635], "loss/view": [5.497, 0.6192], "loss/angle": [1.429, 0.9503], "loss/depth": [2.039, 0.4803], "loss/score": [2.563, 0.8241], "loss/width": [4.953, 0.7861], "loss": [19.76, 4.542]}, "trend": {"loss/objectness": [0.8058, 0.626, 0.223], "loss/graspness": [2.473, 0.2742, 0.889], "loss/view": [5.497, 0.6064, 0.89], "loss/angle": [1.429, 0.993, 0.305], "loss/depth": [2.039, 0.5178, 0.746], "loss/score": [2.563, 0.8318, 0.675], "loss/width": [4.953, 0.8347, 0.831], "loss": [19.76, 4.684, 0.763]}, "real_seeds": {"min": 0.692, "mean": 0.965, "zero_iterations": 0}, "supervised_seeds": {"min": 0.028, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.802, -1.802, -1.802], [-1.802, -1.802, -1.802]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.931, "peak_gpu_mib": 11717.0, "seconds": 82.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/hooks/ema", "group": "recipe", "method": "GraspNet-baseline", "sets": ["hooks=ema"], "slot": "hooks", "component": "EMAHook", "variant": "ema", "verdict": "runs", "judge": 2, "config_hash": "61e3efa16de78968", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set hooks=ema -o recipe__GraspNet-baseline__hooks__ema.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__hooks__ema.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [517, 524], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5654], "loss/view": [0.2001, 0.07898], "loss/score": [0.05519, 0.03586], "loss/angle": [0.53, 0.4624], "loss/width": [0.6388, 0.1546], "loss/tolerance": [1.188, 0.408], "loss": [3.374, 1.705]}, "trend": {"loss/objectness": [0.7623, 0.5816, 0.237], "loss/view": [0.2001, 0.07793, 0.611], "loss/score": [0.05519, 0.03142, 0.431], "loss/angle": [0.53, 0.4617, 0.129], "loss/width": [0.6388, 0.1668, 0.739], "loss/tolerance": [1.188, 0.441, 0.629], "loss": [3.374, 1.76, 0.478]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-21.32, 1.31, 24.46], [-31.44, 1.314, 22.36]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.182, "peak_gpu_mib": 3976.1, "seconds": 11.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/hooks/ema", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["hooks=ema"], "slot": "hooks", "component": "EMAHook", "variant": "ema", "verdict": "runs-empty", "judge": 2, "config_hash": "3e0c693c4a545ab1", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set hooks=ema -o recipe__Scale-Balanced-Grasp__hooks__ema.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__hooks__ema.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3282], "loss/view": [0.2608, 0.1125], "loss/score": [0.05227, 0.02121], "loss/angle": [0.4856, 0.431], "loss/width": [0.5501, 0.1495], "loss/tolerance": [0.9566, 0.2417], "loss": [3.065, 1.284]}, "trend": {"loss/objectness": [0.7596, 0.312, 0.589], "loss/view": [0.2608, 0.1257, 0.518], "loss/score": [0.05227, 0.0184, 0.648], "loss/angle": [0.4856, 0.4275, 0.12], "loss/width": [0.5501, 0.1671, 0.696], "loss/tolerance": [0.9566, 0.281, 0.706], "loss": [3.065, 1.332, 0.566]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.356, "peak_gpu_mib": 9621.9, "seconds": 14.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/hooks/ema", "group": "recipe", "method": "HGGD", "sets": ["hooks=ema"], "slot": "hooks", "component": "EMAHook", "variant": "ema", "verdict": "runs", "judge": 2, "config_hash": "24340a5c6a62a447", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set hooks=ema -o recipe__HGGD__hooks__ema.yaml", "probe": "grasppanda probe recipe__HGGD__hooks__ema.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [329, 329], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.004], "loss/angle": [4942.0, 71.06], "loss/offsets": [0.9016, 0.4589], "loss/anchor": [85.42, 3.146], "loss/anchor_offset": [1.376, 1.911], "loss": [7459.0, 80.58]}, "trend": {"loss/heatmap": [2429.0, 4.018, 0.998], "loss/angle": [4942.0, 85.46, 0.983], "loss/offsets": [0.9016, 0.476, 0.472], "loss/anchor": [85.42, 3.091, 0.964], "loss/anchor_offset": [1.376, 1.343, 0.023], "loss": [7459.0, 94.39, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001586, 0.003805, 0.03011], [0.001593, 0.003841, 0.03014]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.568, "peak_gpu_mib": 8217.6, "seconds": 20.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/hooks/freeze-encoder", "group": "recipe", "method": "GSNet", "sets": ["hooks=freeze-encoder"], "slot": "hooks", "component": "FreezeHook", "variant": "freeze-encoder", "verdict": "runs", "judge": 2, "config_hash": "5bcadef61cb052ca", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set hooks=freeze-encoder -o recipe__GSNet__hooks__freeze-encoder.yaml", "probe": "grasppanda probe recipe__GSNet__hooks__freeze-encoder.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6907, 0.6683], "loss/graspness": [0.3104, 0.3608], "loss/view": [0.08482, 0.3722], "loss/score": [0.5601, 0.08631], "loss/width": [-0.0, 0.2526], "loss": [1.646, 1.74]}, "trend": {"loss/objectness": [0.6907, 0.69, 0.001], "loss/graspness": [0.3104, 0.334, -0.076], "loss/view": [0.08482, 0.3604, -3.249], "loss/score": [0.5601, 0.1129, 0.798], "loss/width": [2.808, 0.2853, 0.898], "loss": [1.646, 1.783, -0.083]}, "active": {"loss/width": 19}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.013, "mean": 0.924, "zero_iterations": 0}, "supervised_seeds": {"min": 0.75, "mean": 0.988, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1062, 0.1696, 0.2636], [0.09847, 0.1648, 0.2558]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.26, "peak_gpu_mib": 1838.0, "seconds": 30.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/hooks/freeze-encoder", "group": "recipe", "method": "EconomicGrasp", "sets": ["hooks=freeze-encoder"], "slot": "hooks", "component": "FreezeHook", "variant": "freeze-encoder", "verdict": "runs", "judge": 2, "config_hash": "5ea5039d6fbf9fb1", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set hooks=freeze-encoder -o recipe__EconomicGrasp__hooks__freeze-encoder.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__hooks__freeze-encoder.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6909, 0.6843], "loss/graspness": [0.3036, 0.3154], "loss/view": [0.5999, 0.6927], "loss/angle": [-0.0, 0.7769], "loss/depth": [0.0, 0.432], "loss/score": [0.0, 0.6791], "loss/width": [-0.0, 0.6521], "loss": [1.594, 4.233]}, "trend": {"loss/objectness": [0.6909, 0.6615, 0.043], "loss/graspness": [0.3036, 0.2931, 0.035], "loss/view": [0.5999, 0.7081, -0.181], "loss/angle": [2.993, 0.7414, 0.752], "loss/depth": [2.151, 0.4077, 0.81], "loss/score": [2.239, 0.6262, 0.72], "loss/width": [7.69, 0.7196, 0.906], "loss": [1.594, 4.158, -1.608]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/objectness": ["flat"], "loss/graspness": ["flat"]}, "real_seeds": {"min": 0.024, "mean": 0.933, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.126, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.524, -3.264, -3.034], [-3.568, -3.269, -2.692]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.365, "peak_gpu_mib": 2064.5, "seconds": 36.2}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/hooks/freeze-encoder", "group": "recipe", "method": "FineGrasp", "sets": ["hooks=freeze-encoder"], "slot": "hooks", "component": "FreezeHook", "variant": "freeze-encoder", "verdict": "runs-unstable", "judge": 2, "config_hash": "4ce2c24ad5b75515", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set hooks=freeze-encoder -o recipe__FineGrasp__hooks__freeze-encoder.yaml", "unstable": "2 of 20 iterations had no real seed (iteration 1, 5).", "probe": "grasppanda probe recipe__FineGrasp__hooks__freeze-encoder.yaml --iters 20 --frames 8 --schedule constant", "repeat": {"verdict": "runs-unstable", "unstable": "2 of 20 iterations had no real seed (iteration 1, 5).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.6943, 0.5875], "loss/graspness": [0.4036, 0.2689], "loss/view": [0.0, 0.6], "loss/angle": [0.0, 0.9705], "loss/depth": [0.0, 0.5119], "loss/score": [0.0, 0.8375], "loss/width": [-0.0, 0.7582], "loss": [1.098, 4.535]}, "trend": {"loss/objectness": [0.6943, 0.6044, 0.13], "loss/graspness": [0.4036, 0.2787, 0.309], "loss/view": [0.6357, 0.6305, 0.008], "loss/angle": [2.123, 1.01, 0.524], "loss/depth": [1.883, 0.5415, 0.712], "loss/score": [2.33, 0.8769, 0.624], "loss/width": [8.113, 0.7845, 0.903], "loss": [1.098, 4.726, -3.305]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "flags": {"loss/view": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.985, -1.985, -1.984], [-1.985, -1.985, -1.984]]}, "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.6943, 0.6024], "loss/graspness": [0.4036, 0.2723], "loss/view": [0.0, 0.5962], "loss/angle": [0.0, 1.016], "loss/depth": [0.0, 0.5318], "loss/score": [0.0, 0.8534], "loss/width": [-0.0, 0.7545], "loss": [1.098, 4.626]}, "trend": {"loss/objectness": [0.6943, 0.618, 0.11], "loss/graspness": [0.4036, 0.2809, 0.304], "loss/view": [0.6357, 0.6184, 0.027], "loss/angle": [2.123, 0.9608, 0.547], "loss/depth": [1.883, 0.5091, 0.73], "loss/score": [2.33, 0.8149, 0.65], "loss/width": [8.113, 0.8006, 0.901], "loss": [1.098, 4.603, -3.192]}, "active": {"loss/view": 18, "loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "flags": {"loss/view": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.849, "zero_iterations": 2}, "supervised_seeds": {"min": 0.0, "mean": 0.11, "zero_iterations": 2}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-2.011, -2.01, -2.009], [-2.01, -2.01, -2.009]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.871, "peak_gpu_mib": 11643.7, "seconds": 78.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/hooks/freeze-encoder", "group": "recipe", "method": "GraspNet-baseline", "sets": ["hooks=freeze-encoder"], "slot": "hooks", "component": "FreezeHook", "variant": "freeze-encoder", "verdict": "runs", "judge": 2, "config_hash": "6087a2fc43f266e4", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set hooks=freeze-encoder -o recipe__GraspNet-baseline__hooks__freeze-encoder.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__hooks__freeze-encoder.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [669, 764], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.6803, 0.6069], "loss/view": [0.1844, 0.09522], "loss/score": [0.06195, 0.03489], "loss/angle": [0.5418, 0.4626], "loss/width": [0.7318, 0.161], "loss/tolerance": [1.232, 0.4548], "loss": [3.432, 1.815]}, "trend": {"loss/objectness": [0.6803, 0.6319, 0.071], "loss/view": [0.1844, 0.096, 0.479], "loss/score": [0.06195, 0.02633, 0.575], "loss/angle": [0.5418, 0.4704, 0.132], "loss/width": [0.7318, 0.1633, 0.777], "loss/tolerance": [1.232, 0.4808, 0.61], "loss": [3.432, 1.869, 0.455]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-34.29, -0.01103, 18.22], [-38.76, -0.3256, 22.34]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.151, "peak_gpu_mib": 3972.7, "seconds": 10.2}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/hooks/freeze-encoder", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["hooks=freeze-encoder"], "slot": "hooks", "component": "FreezeHook", "variant": "freeze-encoder", "verdict": "runs", "judge": 2, "config_hash": "f88c49e7118c7143", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set hooks=freeze-encoder -o recipe__Scale-Balanced-Grasp__hooks__freeze-encoder.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__hooks__freeze-encoder.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [10, 22], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7835, 0.3232], "loss/view": [0.2661, 0.1173], "loss/score": [0.0482, 0.01974], "loss/angle": [0.4906, 0.4518], "loss/width": [0.517, 0.1139], "loss/tolerance": [1.224, 0.2631], "loss": [3.329, 1.289]}, "trend": {"loss/objectness": [0.7835, 0.3129, 0.601], "loss/view": [0.2661, 0.1311, 0.507], "loss/score": [0.0482, 0.02, 0.585], "loss/angle": [0.4906, 0.4324, 0.119], "loss/width": [0.517, 0.1506, 0.709], "loss/tolerance": [1.224, 0.275, 0.775], "loss": [3.329, 1.322, 0.603]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-12.42, -4.219, 1.241], [-10.39, -0.4231, 2.414]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.332, "peak_gpu_mib": 9616.4, "seconds": 13.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/hooks/grad-clip", "group": "recipe", "method": "GSNet", "sets": ["hooks=grad-clip"], "slot": "hooks", "component": "train options", "variant": "grad-clip", "verdict": "runs", "judge": 2, "config_hash": "e0d66335482eef29", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set hooks=grad-clip -o recipe__GSNet__hooks__grad-clip.yaml", "probe": "grasppanda probe recipe__GSNet__hooks__grad-clip.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1019, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5098], "loss/graspness": [5.176, 0.234], "loss/view": [6.291, 0.3585], "loss/score": [1.515, 0.1061], "loss/width": [3.654, 0.2695], "loss": [17.43, 1.478]}, "trend": {"loss/objectness": [0.7893, 0.5632, 0.286], "loss/graspness": [5.176, 0.2815, 0.946], "loss/view": [6.291, 0.3531, 0.944], "loss/score": [1.515, 0.1071, 0.929], "loss/width": [3.654, 0.2621, 0.928], "loss": [17.43, 1.567, 0.91]}, "real_seeds": {"min": 0.078, "mean": 0.863, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.109, 0.1744, 0.2629], [0.09185, 0.1802, 0.4387]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.238, "peak_gpu_mib": 1841.5, "seconds": 31.6}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/hooks/grad-clip", "group": "recipe", "method": "EconomicGrasp", "sets": ["hooks=grad-clip"], "slot": "hooks", "component": "train options", "variant": "grad-clip", "verdict": "runs", "judge": 2, "config_hash": "5fdd6fa809055cdf", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set hooks=grad-clip -o recipe__EconomicGrasp__hooks__grad-clip.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__hooks__grad-clip.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.5326], "loss/graspness": [5.216, 0.2343], "loss/view": [6.545, 0.653], "loss/angle": [3.303, 0.7927], "loss/depth": [2.236, 0.4244], "loss/score": [2.117, 0.6622], "loss/width": [8.756, 0.7066], "loss": [28.96, 4.006]}, "trend": {"loss/objectness": [0.7845, 0.5622, 0.283], "loss/graspness": [5.216, 0.2512, 0.952], "loss/view": [6.545, 0.7103, 0.891], "loss/angle": [3.303, 0.8125, 0.754], "loss/depth": [2.236, 0.4552, 0.796], "loss/score": [2.117, 0.705, 0.667], "loss/width": [8.756, 0.7514, 0.914], "loss": [28.96, 4.248, 0.853]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.144, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.445, -3.083, -2.805], [-3.431, -3.101, -2.576]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.766, "peak_gpu_mib": 2066.2, "seconds": 37.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/hooks/grad-clip", "group": "recipe", "method": "FineGrasp", "sets": ["hooks=grad-clip"], "slot": "hooks", "component": "train options", "variant": "grad-clip", "verdict": "runs", "judge": 2, "config_hash": "4a995777f23b75bb", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set hooks=grad-clip -o recipe__FineGrasp__hooks__grad-clip.yaml", "probe": "grasppanda probe recipe__FineGrasp__hooks__grad-clip.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6068], "loss/graspness": [2.473, 0.2755], "loss/view": [5.497, 0.687], "loss/angle": [1.429, 1.079], "loss/depth": [2.039, 0.573], "loss/score": [2.563, 0.8739], "loss/width": [4.953, 0.7475], "loss": [19.76, 4.843]}, "trend": {"loss/objectness": [0.8058, 0.6207, 0.23], "loss/graspness": [2.473, 0.2925, 0.882], "loss/view": [5.497, 0.6239, 0.887], "loss/angle": [1.429, 1.01, 0.293], "loss/depth": [2.039, 0.5398, 0.735], "loss/score": [2.563, 0.857, 0.666], "loss/width": [4.953, 0.7601, 0.847], "loss": [19.76, 4.704, 0.762]}, "real_seeds": {"min": 0.38, "mean": 0.941, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.117, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.615, -1.615, -1.615], [-1.615, -1.615, -1.615]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 1.003, "peak_gpu_mib": 11643.5, "seconds": 77.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/hooks/grad-clip", "group": "recipe", "method": "GraspNet-baseline", "sets": ["hooks=grad-clip"], "slot": "hooks", "component": "train options", "variant": "grad-clip", "verdict": "runs", "judge": 2, "config_hash": "3ff428114ca6203e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set hooks=grad-clip -o recipe__GraspNet-baseline__hooks__grad-clip.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__hooks__grad-clip.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [520, 508], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5378], "loss/view": [0.2001, 0.07394], "loss/score": [0.05519, 0.03161], "loss/angle": [0.53, 0.4494], "loss/width": [0.6388, 0.1921], "loss/tolerance": [1.188, 0.6643], "loss": [3.374, 1.949]}, "trend": {"loss/objectness": [0.7623, 0.5792, 0.24], "loss/view": [0.2001, 0.07863, 0.607], "loss/score": [0.05519, 0.03037, 0.45], "loss/angle": [0.53, 0.4591, 0.134], "loss/width": [0.6388, 0.1849, 0.711], "loss/tolerance": [1.188, 0.4892, 0.588], "loss": [3.374, 1.821, 0.46]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-45.16, -0.5211, 18.75], [-49.29, -0.4892, 15.32]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.206, "peak_gpu_mib": 3972.1, "seconds": 11.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/hooks/grad-clip", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["hooks=grad-clip"], "slot": "hooks", "component": "train options", "variant": "grad-clip", "verdict": "runs-empty", "judge": 2, "config_hash": "8fd00a5afe5947c8", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set hooks=grad-clip -o recipe__Scale-Balanced-Grasp__hooks__grad-clip.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__hooks__grad-clip.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3176], "loss/view": [0.2608, 0.1066], "loss/score": [0.05227, 0.02179], "loss/angle": [0.4856, 0.4333], "loss/width": [0.5501, 0.1127], "loss/tolerance": [0.9566, 0.1777], "loss": [3.065, 1.17]}, "trend": {"loss/objectness": [0.7596, 0.3124, 0.589], "loss/view": [0.2608, 0.1183, 0.546], "loss/score": [0.05227, 0.02013, 0.615], "loss/angle": [0.4856, 0.4165, 0.142], "loss/width": [0.5501, 0.1629, 0.704], "loss/tolerance": [0.9566, 0.2115, 0.779], "loss": [3.065, 1.242, 0.595]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.376, "peak_gpu_mib": 9615.8, "seconds": 15.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/hooks/grad-clip", "group": "recipe", "method": "HGGD", "sets": ["hooks=grad-clip"], "slot": "hooks", "component": "train options", "variant": "grad-clip", "verdict": "runs", "judge": 2, "config_hash": "1e61d467d062cf26", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set hooks=grad-clip -o recipe__HGGD__hooks__grad-clip.yaml", "probe": "grasppanda probe recipe__HGGD__hooks__grad-clip.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [460, 450], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.196], "loss/angle": [4942.0, 129.9], "loss/offsets": [0.9016, 0.4298], "loss/anchor": [85.42, 3.037], "loss/anchor_offset": [1.376, 1.974], "loss": [7459.0, 139.6]}, "trend": {"loss/heatmap": [2429.0, 4.747, 0.998], "loss/angle": [4942.0, 149.2, 0.97], "loss/offsets": [0.9016, 0.4598, 0.49], "loss/anchor": [85.42, 2.621, 0.969], "loss/anchor_offset": [1.376, 1.12, 0.186], "loss": [7459.0, 158.2, 0.979]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.01803, 0.03361, 0.0553], [0.018, 0.03361, 0.0554]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.507, "peak_gpu_mib": 8292.4, "seconds": 20.2}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/hooks/swa", "group": "recipe", "method": "GSNet", "sets": ["hooks=swa"], "slot": "hooks", "component": "SWAHook", "variant": "swa", "verdict": "runs", "judge": 2, "config_hash": "3a7edf00ac45caa4", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set hooks=swa -o recipe__GSNet__hooks__swa.yaml", "probe": "grasppanda probe recipe__GSNet__hooks__swa.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [273, 286], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.5973], "loss/graspness": [5.176, 0.4631], "loss/view": [6.291, 0.3174], "loss/score": [1.515, 0.08015], "loss/width": [3.654, 0.3968], "loss": [17.43, 1.855]}, "trend": {"loss/objectness": [0.7893, 0.6045, 0.234], "loss/graspness": [5.176, 0.3856, 0.926], "loss/view": [6.291, 0.3444, 0.945], "loss/score": [1.515, 0.08901, 0.941], "loss/width": [3.654, 0.2612, 0.929], "loss": [17.43, 1.685, 0.903]}, "real_seeds": {"min": 0.286, "mean": 0.9, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1069, 0.1696, 0.2153], [0.1061, 0.1786, 0.419]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.235, "peak_gpu_mib": 1900.4, "seconds": 35.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/hooks/swa", "group": "recipe", "method": "EconomicGrasp", "sets": ["hooks=swa"], "slot": "hooks", "component": "SWAHook", "variant": "swa", "verdict": "runs", "judge": 2, "config_hash": "d1bfb42150734a8b", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set hooks=swa -o recipe__EconomicGrasp__hooks__swa.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__hooks__swa.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6272], "loss/graspness": [5.216, 0.2825], "loss/view": [6.545, 0.687], "loss/angle": [3.303, 0.857], "loss/depth": [2.236, 0.4362], "loss/score": [2.117, 0.7117], "loss/width": [8.756, 0.6294], "loss": [28.96, 4.231]}, "trend": {"loss/objectness": [0.7845, 0.6178, 0.213], "loss/graspness": [5.216, 0.3348, 0.936], "loss/view": [6.545, 0.7181, 0.89], "loss/angle": [3.303, 0.7808, 0.764], "loss/depth": [2.236, 0.4338, 0.806], "loss/score": [2.117, 0.6587, 0.689], "loss/width": [8.756, 0.7157, 0.918], "loss": [28.96, 4.26, 0.853]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.138, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.378, -3.137, -2.756], [-3.467, -3.166, -2.846]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.294, "peak_gpu_mib": 2122.0, "seconds": 34.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/hooks/swa", "group": "recipe", "method": "FineGrasp", "sets": ["hooks=swa"], "slot": "hooks", "component": "SWAHook", "variant": "swa", "verdict": "runs", "judge": 2, "config_hash": "04ef54e2e5a491fd", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set hooks=swa -o recipe__FineGrasp__hooks__swa.yaml", "probe": "grasppanda probe recipe__FineGrasp__hooks__swa.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6169], "loss/graspness": [2.473, 0.2637], "loss/view": [5.497, 0.6104], "loss/angle": [1.429, 1.021], "loss/depth": [2.039, 0.5562], "loss/score": [2.563, 0.8792], "loss/width": [4.953, 0.7549], "loss": [19.76, 4.703]}, "trend": {"loss/objectness": [0.8058, 0.6255, 0.224], "loss/graspness": [2.473, 0.2759, 0.888], "loss/view": [5.497, 0.6072, 0.89], "loss/angle": [1.429, 1.005, 0.297], "loss/depth": [2.039, 0.5214, 0.744], "loss/score": [2.563, 0.8463, 0.67], "loss/width": [4.953, 0.7838, 0.842], "loss": [19.76, 4.665, 0.764]}, "real_seeds": {"min": 0.683, "mean": 0.964, "zero_iterations": 0}, "supervised_seeds": {"min": 0.029, "mean": 0.118, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.895, -1.895, -1.895], [-1.895, -1.895, -1.895]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.838, "peak_gpu_mib": 11717.0, "seconds": 83.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/hooks/swa", "group": "recipe", "method": "GraspNet-baseline", "sets": ["hooks=swa"], "slot": "hooks", "component": "SWAHook", "variant": "swa", "verdict": "fails", "judge": 2, "config_hash": "408d8bd868638d09", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set hooks=swa -o recipe__GraspNet-baseline__hooks__swa.yaml", "failure": {"phase": "hook", "when": "iteration 1", "component": "hook SWAHook", "error": "EngineError", "message": "SWAHook.start_epoch is 7, but the run has 5 epochs: nothing would be averaged."}, "probe": "grasppanda probe recipe__GraspNet-baseline__hooks__swa.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "trend": {}, "no_gradient": [], "unchanged": [], "checked": [0, 0], "shared_machine": {"peak_gpu_mib": 4.0, "seconds": 1.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/hooks/swa", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["hooks=swa"], "slot": "hooks", "component": "SWAHook", "variant": "swa", "verdict": "fails", "judge": 2, "config_hash": "ed30ee18753daac4", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set hooks=swa -o recipe__Scale-Balanced-Grasp__hooks__swa.yaml", "failure": {"phase": "hook", "when": "iteration 1", "component": "hook SWAHook", "error": "EngineError", "message": "SWAHook.start_epoch is 7, but the run has 5 epochs: nothing would be averaged."}, "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__hooks__swa.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "trend": {}, "no_gradient": [], "unchanged": [], "checked": [0, 0], "shared_machine": {"peak_gpu_mib": 6.1, "seconds": 1.6}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/hooks/swa", "group": "recipe", "method": "HGGD", "sets": ["hooks=swa"], "slot": "hooks", "component": "SWAHook", "variant": "swa", "verdict": "runs", "judge": 2, "config_hash": "416e143d8b1d747e", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set hooks=swa -o recipe__HGGD__hooks__swa.yaml", "probe": "grasppanda probe recipe__HGGD__hooks__swa.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [329, 322], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 3.998], "loss/angle": [4942.0, 74.94], "loss/offsets": [0.9016, 0.4608], "loss/anchor": [85.42, 3.417], "loss/anchor_offset": [1.376, 1.156], "loss": [7459.0, 83.97]}, "trend": {"loss/heatmap": [2429.0, 4.005, 0.998], "loss/angle": [4942.0, 87.17, 0.982], "loss/offsets": [0.9016, 0.4755, 0.473], "loss/anchor": [85.42, 3.286, 0.962], "loss/anchor_offset": [1.376, 1.244, 0.096], "loss": [7459.0, 96.18, 0.987]}, "active": {"loss/anchor_offset": 19}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001178, 0.002589, 0.05745], [0.001178, 0.002618, 0.04849]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.514, "peak_gpu_mib": 8217.7, "seconds": 18.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/augment/dropout", "group": "recipe", "method": "GSNet", "sets": ["augment=dropout"], "slot": "augment", "component": "RandomDropout", "variant": "dropout", "verdict": "runs", "judge": 2, "config_hash": "906ee722c564d07b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set augment=dropout -o recipe__GSNet__augment__dropout.yaml", "probe": "grasppanda probe recipe__GSNet__augment__dropout.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [738, 1003], "frames": 8, "losses": {"loss/objectness": [0.7838, 0.604], "loss/graspness": [5.051, 0.4097], "loss/view": [6.225, 0.609], "loss/score": [1.564, 0.07973], "loss/width": [4.099, 0.2794], "loss": [17.72, 1.982]}, "trend": {"loss/objectness": [0.7838, 0.6083, 0.224], "loss/graspness": [5.051, 0.3543, 0.93], "loss/view": [6.225, 0.5018, 0.919], "loss/score": [1.564, 0.102, 0.935], "loss/width": [4.099, 0.2635, 0.936], "loss": [17.72, 1.83, 0.897]}, "real_seeds": {"min": 0.777, "mean": 0.961, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09497, 0.1567, 0.2249], [0.08709, 0.1557, 0.22]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.235, "peak_gpu_mib": 1839.7, "seconds": 37.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/augment/dropout", "group": "recipe", "method": "EconomicGrasp", "sets": ["augment=dropout"], "slot": "augment", "component": "RandomDropout", "variant": "dropout", "verdict": "runs", "judge": 2, "config_hash": "78d4fd2d6d126fee", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set augment=dropout -o recipe__EconomicGrasp__augment__dropout.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__augment__dropout.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7802, 0.6127], "loss/graspness": [5.243, 0.3064], "loss/view": [6.397, 0.6802], "loss/angle": [3.269, 0.6381], "loss/depth": [2.28, 0.3758], "loss/score": [2.139, 0.5471], "loss/width": [9.4, 0.741], "loss": [29.51, 3.901]}, "trend": {"loss/objectness": [0.7802, 0.6215, 0.203], "loss/graspness": [5.243, 0.3375, 0.936], "loss/view": [6.397, 0.6981, 0.891], "loss/angle": [3.269, 0.6973, 0.787], "loss/depth": [2.28, 0.4069, 0.822], "loss/score": [2.139, 0.6069, 0.716], "loss/width": [9.4, 0.7083, 0.925], "loss": [29.51, 4.077, 0.862]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.103, "mean": 0.136, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.555, -3.238, -2.968], [-3.552, -3.249, -1.804]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.24, "peak_gpu_mib": 2062.1, "seconds": 32.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/augment/dropout", "group": "recipe", "method": "FineGrasp", "sets": ["augment=dropout"], "slot": "augment", "component": "RandomDropout", "variant": "dropout", "verdict": "fails", "judge": 2, "config_hash": "16155db68c3bcdc9", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set augment=dropout -o recipe__FineGrasp__augment__dropout.yaml", "failure": {"phase": "data", "when": "iteration 1", "component": "transform DepthNormals", "error": "ContractError", "message": "DepthNormals must run before the cloud of graspnet1b<path> is sampled: put it first in `transforms`"}, "probe": "grasppanda probe recipe__FineGrasp__augment__dropout.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "trend": {}, "no_gradient": [], "unchanged": [], "checked": [0, 0], "shared_machine": {"peak_gpu_mib": 73.2, "seconds": 7.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/augment/dropout", "group": "recipe", "method": "GraspNet-baseline", "sets": ["augment=dropout"], "slot": "augment", "component": "RandomDropout", "variant": "dropout", "verdict": "runs", "judge": 2, "config_hash": "462ad34104a26573", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set augment=dropout -o recipe__GraspNet-baseline__augment__dropout.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__augment__dropout.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [357, 456], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7423, 0.5626], "loss/view": [0.2021, 0.07756], "loss/score": [0.06035, 0.03854], "loss/angle": [0.5264, 0.4857], "loss/width": [0.5299, 0.2029], "loss/tolerance": [1.325, 0.4748], "loss": [3.386, 1.842]}, "trend": {"loss/objectness": [0.7423, 0.5834, 0.214], "loss/view": [0.2021, 0.07902, 0.609], "loss/score": [0.06035, 0.03352, 0.445], "loss/angle": [0.5264, 0.4655, 0.116], "loss/width": [0.5299, 0.1957, 0.631], "loss/tolerance": [1.325, 0.4781, 0.639], "loss": [3.386, 1.835, 0.458]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.469, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-21.6, -1.774, 33.04], [-38.54, -0.9321, 30.34]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.222, "peak_gpu_mib": 3974.3, "seconds": 11.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/augment/dropout", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["augment=dropout"], "slot": "augment", "component": "RandomDropout", "variant": "dropout", "verdict": "runs", "judge": 2, "config_hash": "30683660a9d717b0", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set augment=dropout -o recipe__Scale-Balanced-Grasp__augment__dropout.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__augment__dropout.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 5], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7747, 0.3321], "loss/view": [0.2576, 0.1181], "loss/score": [0.03335, 0.02042], "loss/angle": [0.4919, 0.4449], "loss/width": [0.4689, 0.1157], "loss/tolerance": [1.558, 0.1927], "loss": [3.585, 1.224]}, "trend": {"loss/objectness": [0.7747, 0.3104, 0.599], "loss/view": [0.2576, 0.1197, 0.535], "loss/score": [0.03335, 0.02128, 0.362], "loss/angle": [0.4919, 0.4202, 0.146], "loss/width": [0.4689, 0.1181, 0.748], "loss/tolerance": [1.558, 0.2611, 0.832], "loss": [3.585, 1.251, 0.651]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.469, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, [-2.127, -0.311, 1.78]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.35, "peak_gpu_mib": 9615.8, "seconds": 14.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/augment/dropout", "group": "recipe", "method": "HGGD", "sets": ["augment=dropout"], "slot": "augment", "component": "RandomDropout", "variant": "dropout", "verdict": "runs", "judge": 2, "config_hash": "859140bc1eda167f", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set augment=dropout -o recipe__HGGD__augment__dropout.yaml", "probe": "grasppanda probe recipe__HGGD__augment__dropout.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [376, 360], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/heatmap": [2429.0, 4.005], "loss/angle": [4942.0, 75.56], "loss/offsets": [0.9016, 0.4622], "loss/anchor": [90.28, 3.153], "loss/anchor_offset": [1.378, 1.591], "loss": [7464.0, 84.78]}, "trend": {"loss/heatmap": [2429.0, 4.005, 0.998], "loss/angle": [4942.0, 87.52, 0.982], "loss/offsets": [0.9016, 0.471, 0.478], "loss/anchor": [90.28, 3.06, 0.966], "loss/anchor_offset": [1.378, 1.361, 0.012], "loss": [7464.0, 96.42, 0.987]}, "active": {"loss/anchor_offset": 19}, "flags": {"loss/anchor_offset": ["flat"]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.001584, 0.002195, 0.02377], [0.001586, 0.002206, 0.02089]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.566, "peak_gpu_mib": 8188.7, "seconds": 21.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/augment/jitter", "group": "recipe", "method": "GSNet", "sets": ["augment=jitter"], "slot": "augment", "component": "RandomJitter", "variant": "jitter", "verdict": "runs", "judge": 2, "config_hash": "4d05e38d01ffdd28", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set augment=jitter -o recipe__GSNet__augment__jitter.yaml", "probe": "grasppanda probe recipe__GSNet__augment__jitter.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1014, 1024], "notes": ["probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7885, 0.5911], "loss/graspness": [5.213, 0.2859], "loss/view": [6.176, 0.4214], "loss/score": [1.519, 0.1042], "loss/width": [3.573, 0.241], "loss": [17.27, 1.644]}, "trend": {"loss/objectness": [0.7885, 0.6077, 0.229], "loss/graspness": [5.213, 0.3024, 0.942], "loss/view": [6.176, 0.3533, 0.943], "loss/score": [1.519, 0.1124, 0.926], "loss/width": [3.573, 0.2359, 0.934], "loss": [17.27, 1.612, 0.907]}, "real_seeds": {"min": 0.103, "mean": 0.915, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1021, 0.1565, 0.2447], [0.1021, 0.1638, 0.6795]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.154, "peak_gpu_mib": 1876.9, "seconds": 22.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/augment/jitter", "group": "recipe", "method": "EconomicGrasp", "sets": ["augment=jitter"], "slot": "augment", "component": "RandomJitter", "variant": "jitter", "verdict": "runs", "judge": 2, "config_hash": "95c47e9c304de045", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set augment=jitter -o recipe__EconomicGrasp__augment__jitter.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__augment__jitter.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "notes": ["probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.7765, 0.6247], "loss/graspness": [5.353, 0.3492], "loss/view": [6.468, 0.6805], "loss/angle": [3.264, 0.7143], "loss/depth": [2.256, 0.3937], "loss/score": [2.058, 0.6344], "loss/width": [8.942, 0.641], "loss": [29.12, 4.038]}, "trend": {"loss/objectness": [0.7765, 0.6295, 0.189], "loss/graspness": [5.353, 0.3549, 0.934], "loss/view": [6.468, 0.6908, 0.893], "loss/angle": [3.264, 0.7151, 0.781], "loss/depth": [2.256, 0.4027, 0.822], "loss/score": [2.058, 0.6115, 0.703], "loss/width": [8.942, 0.6952, 0.922], "loss": [29.12, 4.1, 0.859]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.091, "mean": 0.123, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.511, -3.222, -2.99], [-3.527, -3.21, -2.922]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.158, "peak_gpu_mib": 2109.0, "seconds": 26.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/augment/jitter", "group": "recipe", "method": "FineGrasp", "sets": ["augment=jitter"], "slot": "augment", "component": "RandomJitter", "variant": "jitter", "verdict": "runs", "judge": 2, "config_hash": "fa02791f3f4c33a6", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set augment=jitter -o recipe__FineGrasp__augment__jitter.yaml", "probe": "grasppanda probe recipe__FineGrasp__augment__jitter.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.8033, 0.6494], "loss/graspness": [2.53, 0.2963], "loss/view": [5.383, 0.5997], "loss/angle": [1.447, 1.102], "loss/depth": [2.031, 0.5748], "loss/score": [2.539, 0.9397], "loss/width": [4.43, 0.8026], "loss": [19.16, 4.965]}, "trend": {"loss/objectness": [0.8033, 0.6537, 0.186], "loss/graspness": [2.53, 0.3257, 0.871], "loss/view": [5.383, 0.6576, 0.878], "loss/angle": [1.447, 1.077, 0.256], "loss/depth": [2.031, 0.5789, 0.715], "loss/score": [2.539, 0.9065, 0.643], "loss/width": [4.43, 0.7868, 0.822], "loss": [19.16, 4.986, 0.74]}, "real_seeds": {"min": 0.602, "mean": 0.958, "zero_iterations": 0}, "supervised_seeds": {"min": 0.047, "mean": 0.112, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.639, -1.639, -1.639], [-1.639, -1.639, -1.639]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.51, "peak_gpu_mib": 11730.6, "seconds": 66.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/augment/jitter", "group": "recipe", "method": "GraspNet-baseline", "sets": ["augment=jitter"], "slot": "augment", "component": "RandomJitter", "variant": "jitter", "verdict": "runs", "judge": 2, "config_hash": "a87f7e8f767c4eef", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set augment=jitter -o recipe__GraspNet-baseline__augment__jitter.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__augment__jitter.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [490, 217], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7593, 0.5498], "loss/view": [0.2001, 0.07774], "loss/score": [0.06053, 0.03719], "loss/angle": [0.5458, 0.4774], "loss/width": [0.6058, 0.1746], "loss/tolerance": [1.028, 0.4398], "loss": [3.199, 1.757]}, "trend": {"loss/objectness": [0.7593, 0.5835, 0.232], "loss/view": [0.2001, 0.08211, 0.59], "loss/score": [0.06053, 0.02884, 0.524], "loss/angle": [0.5458, 0.4699, 0.139], "loss/width": [0.6058, 0.2006, 0.669], "loss/tolerance": [1.028, 0.4992, 0.514], "loss": [3.199, 1.864, 0.417]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.472, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-35.62, 0.8194, 32.91], [-19.32, 0.974, 13.67]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.205, "peak_gpu_mib": 3974.3, "seconds": 11.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/augment/jitter", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["augment=jitter"], "slot": "augment", "component": "RandomJitter", "variant": "jitter", "verdict": "runs", "judge": 2, "config_hash": "11679de9adbc9010", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set augment=jitter -o recipe__Scale-Balanced-Grasp__augment__jitter.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__augment__jitter.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [7, 7], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7692, 0.3504], "loss/view": [0.2565, 0.1172], "loss/score": [0.02715, 0.02252], "loss/angle": [0.5146, 0.4378], "loss/width": [0.4487, 0.1417], "loss/tolerance": [1.175, 0.1905], "loss": [3.191, 1.26]}, "trend": {"loss/objectness": [0.7692, 0.3208, 0.583], "loss/view": [0.2565, 0.1257, 0.51], "loss/score": [0.02715, 0.02214, 0.184], "loss/angle": [0.5146, 0.4244, 0.175], "loss/width": [0.4487, 0.1676, 0.626], "loss/tolerance": [1.175, 0.2453, 0.791], "loss": [3.191, 1.306, 0.591]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.472, "mean": 0.494, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-0.07277, 2.108, 10.14], [-1.433, -0.5244, 2.959]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.38, "peak_gpu_mib": 9615.8, "seconds": 14.4}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/augment/jitter", "group": "recipe", "method": "HGGD", "sets": ["augment=jitter"], "slot": "augment", "component": "RandomJitter", "variant": "jitter", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set augment=jitter -o recipe__HGGD__augment__jitter.yaml", "refusal": ["data.train.dataset.transforms: RandomJitter moves the points, but this dataset section also serves image-space data (`rgb`, `depth`, `view_grasps`), which would stay where it was. Remove the point-space augmentation (with `grasppanda compose`: leave it out of `--set augment=`); a detector that reads images needs an augmentation that moves image and cloud together, and none is shipped."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/augment/shift", "group": "recipe", "method": "GSNet", "sets": ["augment=shift"], "slot": "augment", "component": "RandomShift", "variant": "shift", "verdict": "runs", "judge": 2, "config_hash": "af0569e8cafbb6d5", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set augment=shift -o recipe__GSNet__augment__shift.yaml", "probe": "grasppanda probe recipe__GSNet__augment__shift.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7783, 0.6092], "loss/graspness": [5.345, 0.3218], "loss/view": [6.197, 0.338], "loss/score": [1.507, 0.1074], "loss/width": [3.7, 0.2774], "loss": [17.53, 1.654]}, "trend": {"loss/objectness": [0.7783, 0.6201, 0.203], "loss/graspness": [5.345, 0.4452, 0.917], "loss/view": [6.197, 0.331, 0.947], "loss/score": [1.507, 0.09027, 0.94], "loss/width": [3.7, 0.3349, 0.91], "loss": [17.53, 1.821, 0.896]}, "real_seeds": {"min": 0.018, "mean": 0.835, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1723, 0.2528, 0.353], [0.1676, 0.2642, 0.3496]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.236, "peak_gpu_mib": 1843.1, "seconds": 36.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/augment/shift", "group": "recipe", "method": "EconomicGrasp", "sets": ["augment=shift"], "slot": "augment", "component": "RandomShift", "variant": "shift", "verdict": "runs", "judge": 2, "config_hash": "6fb8c0d2a9f88b87", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set augment=shift -o recipe__EconomicGrasp__augment__shift.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__augment__shift.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7932, 0.6454], "loss/graspness": [5.166, 0.2917], "loss/view": [6.651, 0.6736], "loss/angle": [3.264, 0.7148], "loss/depth": [2.253, 0.3624], "loss/score": [2.133, 0.6274], "loss/width": [9.118, 0.7462], "loss": [29.38, 4.061]}, "trend": {"loss/objectness": [0.7932, 0.6407, 0.192], "loss/graspness": [5.166, 0.3447, 0.933], "loss/view": [6.651, 0.6887, 0.896], "loss/angle": [3.264, 0.7721, 0.763], "loss/depth": [2.253, 0.4246, 0.812], "loss/score": [2.133, 0.6593, 0.691], "loss/width": [9.118, 0.7072, 0.922], "loss": [29.38, 4.237, 0.856]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.093, "mean": 0.133, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.617, -3.342, -2.911], [-3.622, -3.368, -3.108]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.237, "peak_gpu_mib": 2066.6, "seconds": 32.9}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/augment/shift", "group": "recipe", "method": "FineGrasp", "sets": ["augment=shift"], "slot": "augment", "component": "RandomShift", "variant": "shift", "verdict": "runs", "judge": 2, "config_hash": "dce5b5afd698f70d", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set augment=shift -o recipe__FineGrasp__augment__shift.yaml", "probe": "grasppanda probe recipe__FineGrasp__augment__shift.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [7, 4], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.801, 0.6673], "loss/graspness": [2.447, 0.7497], "loss/view": [5.504, 0.8608], "loss/angle": [1.426, 0.8905], "loss/depth": [2.027, 0.4846], "loss/score": [2.537, 0.7739], "loss/width": [4.689, 0.9607], "loss": [19.43, 5.388]}, "trend": {"loss/objectness": [0.801, 0.6688, 0.165], "loss/graspness": [2.447, 0.521, 0.787], "loss/view": [5.504, 0.7194, 0.869], "loss/angle": [1.426, 0.9592, 0.328], "loss/depth": [2.027, 0.5244, 0.741], "loss/score": [2.537, 0.8184, 0.677], "loss/width": [4.689, 0.8547, 0.818], "loss": [19.43, 5.066, 0.739]}, "real_seeds": {"min": 0.169, "mean": 0.848, "zero_iterations": 0}, "supervised_seeds": {"min": 0.033, "mean": 0.142, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.776, -1.776, -1.776], [-1.776, -1.776, -1.776]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.492, "peak_gpu_mib": 11641.0, "seconds": 62.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/augment/shift", "group": "recipe", "method": "GraspNet-baseline", "sets": ["augment=shift"], "slot": "augment", "component": "RandomShift", "variant": "shift", "verdict": "runs", "judge": 2, "config_hash": "1240e6c215a8bf11", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set augment=shift -o recipe__GraspNet-baseline__augment__shift.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__augment__shift.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [641, 393], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7624, 0.5417], "loss/view": [0.2001, 0.07829], "loss/score": [0.05583, 0.03241], "loss/angle": [0.5294, 0.4559], "loss/width": [0.5984, 0.1946], "loss/tolerance": [1.152, 0.4692], "loss": [3.298, 1.772]}, "trend": {"loss/objectness": [0.7624, 0.5789, 0.241], "loss/view": [0.2001, 0.08184, 0.591], "loss/score": [0.05583, 0.03578, 0.359], "loss/angle": [0.5294, 0.4639, 0.124], "loss/width": [0.5984, 0.1805, 0.698], "loss/tolerance": [1.152, 0.4705, 0.592], "loss": [3.298, 1.811, 0.451]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-29.78, -0.5542, 36.99], [-17.6, -0.1929, 49.34]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.225, "peak_gpu_mib": 3972.1, "seconds": 11.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/augment/shift", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["augment=shift"], "slot": "augment", "component": "RandomShift", "variant": "shift", "verdict": "runs-empty", "judge": 2, "config_hash": "d8007850bf2f42ab", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set augment=shift -o recipe__Scale-Balanced-Grasp__augment__shift.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__augment__shift.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3222], "loss/view": [0.2608, 0.112], "loss/score": [0.05227, 0.02033], "loss/angle": [0.4856, 0.4146], "loss/width": [0.5501, 0.1557], "loss/tolerance": [0.9566, 0.2356], "loss": [3.065, 1.26]}, "trend": {"loss/objectness": [0.7596, 0.3092, 0.593], "loss/view": [0.2608, 0.125, 0.521], "loss/score": [0.05227, 0.01808, 0.654], "loss/angle": [0.4856, 0.4125, 0.151], "loss/width": [0.5501, 0.1681, 0.694], "loss/tolerance": [0.9566, 0.2891, 0.698], "loss": [3.065, 1.322, 0.569]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.364, "peak_gpu_mib": 9615.8, "seconds": 14.3}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/augment/shift", "group": "recipe", "method": "HGGD", "sets": ["augment=shift"], "slot": "augment", "component": "RandomShift", "variant": "shift", "verdict": "refused", "config_hash": null, "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set augment=shift -o recipe__HGGD__augment__shift.yaml", "refusal": ["data.train.dataset.transforms: RandomShift moves the points, but this dataset section also serves image-space data (`rgb`, `depth`, `view_grasps`), which would stay where it was. Remove the point-space augmentation (with `grasppanda compose`: leave it out of `--set augment=`); a detector that reads images needs an augmentation that moves image and cloud together, and none is shipped."], "refusal_kinds": ["not-implemented"], "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/recipe/adamw-onecycle", "group": "recipe", "method": "GSNet", "sets": ["recipe=adamw-onecycle"], "slot": "recipe", "component": "AdamW, OneCycleLR", "variant": "adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "8bd29af6af662d3c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set recipe=adamw-onecycle -o recipe__GSNet__recipe__adamw-onecycle.yaml", "probe": "grasppanda probe recipe__GSNet__recipe__adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7893, 0.6817], "loss/graspness": [5.176, 0.4446], "loss/view": [6.291, 0.3615], "loss/score": [1.515, 0.1174], "loss/width": [3.654, 0.3985], "loss": [17.43, 2.004]}, "trend": {"loss/objectness": [0.7893, 0.6692, 0.152], "loss/graspness": [5.176, 0.4589, 0.911], "loss/view": [6.291, 0.3634, 0.942], "loss/score": [1.515, 0.1315, 0.913], "loss/width": [3.654, 0.3614, 0.901], "loss": [17.43, 1.984, 0.886]}, "real_seeds": {"min": 0.544, "mean": 0.956, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.09061, 0.1444, 0.2384], [0.08677, 0.1577, 0.2644]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.256, "peak_gpu_mib": 1841.5, "seconds": 37.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/recipe/adamw-onecycle", "group": "recipe", "method": "EconomicGrasp", "sets": ["recipe=adamw-onecycle"], "slot": "recipe", "component": "AdamW, OneCycleLR", "variant": "adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "0ef33e67d471b460", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set recipe=adamw-onecycle -o recipe__EconomicGrasp__recipe__adamw-onecycle.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__recipe__adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7845, 0.6835], "loss/graspness": [5.216, 0.5471], "loss/view": [6.545, 0.7624], "loss/angle": [3.303, 0.649], "loss/depth": [2.236, 0.3296], "loss/score": [2.117, 0.5374], "loss/width": [8.756, 0.8343], "loss": [28.96, 4.343]}, "trend": {"loss/objectness": [0.7845, 0.6858, 0.126], "loss/graspness": [5.216, 0.5983, 0.885], "loss/view": [6.545, 0.7596, 0.884], "loss/angle": [3.303, 0.7171, 0.783], "loss/depth": [2.236, 0.3802, 0.83], "loss/score": [2.117, 0.6077, 0.713], "loss/width": [8.756, 0.9131, 0.896], "loss": [28.96, 4.662, 0.839]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.095, "mean": 0.113, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.048, -2.66, -1.867], [-2.99, -2.683, -1.764]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.322, "peak_gpu_mib": 2066.2, "seconds": 37.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/recipe/adamw-onecycle", "group": "recipe", "method": "FineGrasp", "sets": ["recipe=adamw-onecycle"], "slot": "recipe", "component": "AdamW, OneCycleLR", "variant": "adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "c8980a233b3fe587", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set recipe=adamw-onecycle -o recipe__FineGrasp__recipe__adamw-onecycle.yaml", "probe": "grasppanda probe recipe__FineGrasp__recipe__adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.8058, 0.6636], "loss/graspness": [2.473, 0.2878], "loss/view": [5.497, 0.6773], "loss/angle": [1.429, 0.6388], "loss/depth": [2.039, 0.3315], "loss/score": [2.563, 0.5427], "loss/width": [4.953, 0.6394], "loss": [19.76, 3.781]}, "trend": {"loss/objectness": [0.8058, 0.6656, 0.174], "loss/graspness": [2.473, 0.2979, 0.88], "loss/view": [5.497, 0.7012, 0.872], "loss/angle": [1.429, 0.6957, 0.513], "loss/depth": [2.039, 0.3915, 0.808], "loss/score": [2.563, 0.6034, 0.765], "loss/width": [4.953, 0.6568, 0.867], "loss": [19.76, 4.012, 0.797]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.071, "mean": 0.128, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.508, -1.45, -1.38], [-1.522, -1.446, -1.383]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.488, "peak_gpu_mib": 11643.5, "seconds": 62.5}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/recipe/adamw-onecycle", "group": "recipe", "method": "GraspNet-baseline", "sets": ["recipe=adamw-onecycle"], "slot": "recipe", "component": "AdamW, OneCycleLR", "variant": "adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "15627e007c766f7e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set recipe=adamw-onecycle -o recipe__GraspNet-baseline__recipe__adamw-onecycle.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__recipe__adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [418, 310], "frames": 8, "losses": {"loss/objectness": [0.7623, 0.5725], "loss/view": [0.2001, 0.107], "loss/score": [0.05519, 0.03609], "loss/angle": [0.53, 0.4839], "loss/width": [0.6388, 0.2663], "loss/tolerance": [1.188, 0.6203], "loss": [3.374, 2.086]}, "trend": {"loss/objectness": [0.7623, 0.5748, 0.246], "loss/view": [0.2001, 0.1075, 0.463], "loss/score": [0.05519, 0.033, 0.402], "loss/angle": [0.53, 0.4815, 0.091], "loss/width": [0.6388, 0.251, 0.607], "loss/tolerance": [1.188, 0.596, 0.498], "loss": [3.374, 2.044, 0.394]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-18.7, -0.008998, 11.2], [-24.87, 0.07351, 12.02]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.224, "peak_gpu_mib": 3972.1, "seconds": 11.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/recipe/adamw-onecycle", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["recipe=adamw-onecycle"], "slot": "recipe", "component": "AdamW, OneCycleLR", "variant": "adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "259e475f09047407", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set recipe=adamw-onecycle -o recipe__Scale-Balanced-Grasp__recipe__adamw-onecycle.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__recipe__adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 39], "frames": 8, "losses": {"loss/objectness": [0.7596, 0.3288], "loss/view": [0.2608, 0.1316], "loss/score": [0.05227, 0.02667], "loss/angle": [0.4856, 0.4321], "loss/width": [0.5501, 0.2341], "loss/tolerance": [0.9566, 0.4343], "loss": [3.065, 1.588]}, "trend": {"loss/objectness": [0.7596, 0.3248, 0.572], "loss/view": [0.2608, 0.1437, 0.449], "loss/score": [0.05227, 0.02335, 0.553], "loss/angle": [0.4856, 0.4373, 0.099], "loss/width": [0.5501, 0.2336, 0.575], "loss/tolerance": [0.9566, 0.4084, 0.573], "loss": [3.065, 1.571, 0.487]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, [-1.977, -0.117, 2.733]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.357, "peak_gpu_mib": 9615.8, "seconds": 14.5}, "run": "2026-10-15@96facee"},
  {"id": "recipe/HGGD/recipe/adamw-onecycle", "group": "recipe", "method": "HGGD", "sets": ["recipe=adamw-onecycle"], "slot": "recipe", "component": "AdamW, OneCycleLR", "variant": "adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "94257d50e712d03f", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set recipe=adamw-onecycle -o recipe__HGGD__recipe__adamw-onecycle.yaml", "probe": "grasppanda probe recipe__HGGD__recipe__adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 3425590, "iterations": 20, "batch_size": 4, "grasps_per_frame": [334, 363], "frames": 8, "losses": {"loss/heatmap": [2429.0, 382.2], "loss/angle": [4942.0, 704.9], "loss/offsets": [0.9016, 0.5948], "loss/anchor": [85.42, 68.11], "loss/anchor_offset": [1.376, 0.5735], "loss": [7459.0, 1156.0]}, "trend": {"loss/heatmap": [2429.0, 387.6, 0.84], "loss/angle": [4942.0, 651.5, 0.868], "loss/offsets": [0.9016, 0.6332, 0.298], "loss/anchor": [85.42, 49.57, 0.42], "loss/anchor_offset": [1.376, 0.5847, 0.575], "loss": [7459.0, 1090.0, 0.854]}, "no_gradient": [], "unchanged": [], "checked": [17, 2], "score_quantiles": [[0.4077, 0.4957, 0.6307], [0.4074, 0.4928, 0.6305]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.565, "peak_gpu_mib": 7756.8, "seconds": 21.1}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/recipe/finetune-encoder", "group": "recipe", "method": "GSNet", "sets": ["recipe=finetune-encoder"], "slot": "recipe", "component": "ParamGroups, TimmSchedule, FreezeHook, EMAHook", "variant": "finetune-encoder", "verdict": "runs", "judge": 2, "config_hash": "554ae15dba0f0f6b", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set recipe=finetune-encoder -o recipe__GSNet__recipe__finetune-encoder.yaml", "probe": "grasppanda probe recipe__GSNet__recipe__finetune-encoder.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15353775, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6907, 0.7115], "loss/graspness": [0.3104, 0.7309], "loss/view": [0.08482, 0.5828], "loss/score": [0.5601, 0.1099], "loss/width": [-0.0, 0.2763], "loss": [1.646, 2.411]}, "trend": {"loss/objectness": [0.6907, 0.7231, -0.047], "loss/graspness": [0.3104, 0.7808, -1.516], "loss/view": [0.08482, 0.5938, -6.001], "loss/score": [0.5601, 0.1157, 0.793], "loss/width": [1.299, 0.2915, 0.776], "loss": [1.646, 2.505, -0.522]}, "active": {"loss/width": 19}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.013, "mean": 0.9, "zero_iterations": 0}, "supervised_seeds": {"min": 0.75, "mean": 0.988, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.1103, 0.1891, 0.3323], [0.1115, 0.1799, 0.3107]], "learning_rate": [1e-06, 1.02e-06], "lr_factor": 1.02, "shared_machine": {"seconds_per_iteration": 0.352, "peak_gpu_mib": 1897.8, "seconds": 38.1}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/recipe/finetune-encoder", "group": "recipe", "method": "EconomicGrasp", "sets": ["recipe=finetune-encoder"], "slot": "recipe", "component": "ParamGroups, TimmSchedule, FreezeHook, EMAHook", "variant": "finetune-encoder", "verdict": "runs", "judge": 2, "config_hash": "35346d3f313912f5", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set recipe=finetune-encoder -o recipe__EconomicGrasp__recipe__finetune-encoder.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__recipe__finetune-encoder.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 15750238, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.6909, 0.7088], "loss/graspness": [0.3036, 0.7532], "loss/view": [0.5999, 1.656], "loss/angle": [-0.0, 0.5968], "loss/depth": [0.0, 0.3535], "loss/score": [0.0, 0.5291], "loss/width": [-0.0, 0.8385], "loss": [1.594, 5.436]}, "trend": {"loss/objectness": [0.6909, 0.7192, -0.041], "loss/graspness": [0.3036, 0.804, -1.648], "loss/view": [0.5999, 1.666, -1.777], "loss/angle": [3.275, 0.7014, 0.786], "loss/depth": [2.161, 0.4048, 0.813], "loss/score": [2.248, 0.6059, 0.73], "loss/width": [4.412, 0.8193, 0.814], "loss": [1.594, 5.721, -2.588]}, "active": {"loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.023, "mean": 0.902, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.116, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-3.022, -2.678, -2.223], [-3.185, -2.679, -1.782]], "learning_rate": [1e-06, 1.02e-06], "lr_factor": 1.02, "shared_machine": {"seconds_per_iteration": 0.385, "peak_gpu_mib": 2118.7, "seconds": 38.7}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/recipe/finetune-encoder", "group": "recipe", "method": "FineGrasp", "sets": ["recipe=finetune-encoder"], "slot": "recipe", "component": "ParamGroups, TimmSchedule, FreezeHook, EMAHook", "variant": "finetune-encoder", "verdict": "runs-unstable", "judge": 2, "config_hash": "1324976b43ea1256", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set recipe=finetune-encoder -o recipe__FineGrasp__recipe__finetune-encoder.yaml", "unstable": "1 of 20 iterations had no real seed (iteration 1).", "probe": "grasppanda probe recipe__FineGrasp__recipe__finetune-encoder.yaml --iters 20 --frames 8 --schedule recipe", "repeat": {"verdict": "runs-unstable", "unstable": "1 of 20 iterations had no real seed (iteration 1).", "judge": 2, "iterations": 20, "grasps_per_frame": [1024, 1024], "losses": {"loss/objectness": [0.6943, 0.6525], "loss/graspness": [0.4036, 0.3438], "loss/view": [0.0, 0.692], "loss/angle": [0.0, 0.6757], "loss/depth": [0.0, 0.3472], "loss/score": [0.0, 0.5704], "loss/width": [-0.0, 0.6427], "loss": [1.098, 3.924]}, "trend": {"loss/objectness": [0.6943, 0.6564, 0.055], "loss/graspness": [0.4036, 0.3593, 0.11], "loss/view": [5.525, 0.6904, 0.875], "loss/angle": [1.457, 0.695, 0.523], "loss/depth": [2.018, 0.3732, 0.815], "loss/score": [2.53, 0.5885, 0.767], "loss/width": [5.05, 0.6816, 0.865], "loss": [1.098, 4.044, -2.684]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.699, -1.667, -1.605], [-1.701, -1.663, -1.622]]}, "schedule": "recipe", "parameters": 19145441, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "probed alone after running out of GPU memory"], "frames": 8, "losses": {"loss/objectness": [0.6943, 0.6573], "loss/graspness": [0.4036, 0.3796], "loss/view": [0.0, 0.6947], "loss/angle": [0.0, 0.6328], "loss/depth": [0.0, 0.353], "loss/score": [0.0, 0.5427], "loss/width": [-0.0, 0.6358], "loss": [1.098, 3.896]}, "trend": {"loss/objectness": [0.6943, 0.6613, 0.048], "loss/graspness": [0.4036, 0.4164, -0.032], "loss/view": [5.525, 0.6935, 0.874], "loss/angle": [1.457, 0.6663, 0.543], "loss/depth": [2.018, 0.3731, 0.815], "loss/score": [2.53, 0.579, 0.771], "loss/width": [5.05, 0.6806, 0.865], "loss": [1.098, 4.07, -2.707]}, "active": {"loss/view": 19, "loss/angle": 19, "loss/depth": 19, "loss/score": 19, "loss/width": 19}, "flags": {"loss/objectness": ["flat"], "loss/graspness": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.95, "zero_iterations": 1}, "supervised_seeds": {"min": 0.0, "mean": 0.118, "zero_iterations": 1}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.567, -1.534, -1.458], [-1.579, -1.537, -1.487]], "learning_rate": [1e-06, 1.02e-06], "lr_factor": 1.02, "shared_machine": {"seconds_per_iteration": 0.515, "peak_gpu_mib": 11713.0, "seconds": 63.6}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/recipe/finetune-encoder", "group": "recipe", "method": "GraspNet-baseline", "sets": ["recipe=finetune-encoder"], "slot": "recipe", "component": "ParamGroups, TimmSchedule, FreezeHook, EMAHook", "variant": "finetune-encoder", "verdict": "runs", "judge": 2, "config_hash": "d8998e7fff22aa8d", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set recipe=finetune-encoder -o recipe__GraspNet-baseline__recipe__finetune-encoder.yaml", "probe": "grasppanda probe recipe__GraspNet-baseline__recipe__finetune-encoder.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 1025964, "iterations": 20, "batch_size": 2, "grasps_per_frame": [145, 274], "frames": 8, "losses": {"loss/objectness": [0.6803, 0.5942], "loss/view": [0.1844, 0.1151], "loss/score": [0.06195, 0.05055], "loss/angle": [0.5418, 0.4833], "loss/width": [0.7318, 0.2433], "loss/tolerance": [1.232, 0.7083], "loss": [3.432, 2.195]}, "trend": {"loss/objectness": [0.6803, 0.6307, 0.073], "loss/view": [0.1844, 0.1127, 0.389], "loss/score": [0.06195, 0.04007, 0.353], "loss/angle": [0.5418, 0.4805, 0.113], "loss/width": [0.7318, 0.2053, 0.719], "loss/tolerance": [1.232, 0.6414, 0.479], "loss": [3.432, 2.111, 0.385]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [[-14.43, -0.8633, 8.036], [-12.06, -0.7904, 9.209]], "learning_rate": [1e-06, 2.089e-06], "lr_factor": 2.089, "shared_machine": {"seconds_per_iteration": 0.169, "peak_gpu_mib": 3976.7, "seconds": 11.0}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/recipe/finetune-encoder", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["recipe=finetune-encoder"], "slot": "recipe", "component": "ParamGroups, TimmSchedule, FreezeHook, EMAHook", "variant": "finetune-encoder", "verdict": "runs-empty", "judge": 2, "config_hash": "68b15496e28bcea2", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set recipe=finetune-encoder -o recipe__Scale-Balanced-Grasp__recipe__finetune-encoder.yaml", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__recipe__finetune-encoder.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 1577196, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7835, 0.3424], "loss/view": [0.2661, 0.1435], "loss/score": [0.0482, 0.02993], "loss/angle": [0.4906, 0.4506], "loss/width": [0.517, 0.2042], "loss/tolerance": [1.224, 0.4099], "loss": [3.329, 1.581]}, "trend": {"loss/objectness": [0.7835, 0.3341, 0.574], "loss/view": [0.2661, 0.1547, 0.419], "loss/score": [0.0482, 0.0256, 0.469], "loss/angle": [0.4906, 0.4354, 0.113], "loss/width": [0.517, 0.2248, 0.565], "loss/tolerance": [1.224, 0.3994, 0.674], "loss": [3.329, 1.574, 0.527]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 4], "score_quantiles": [null, null], "learning_rate": [1e-06, 1.056e-06], "lr_factor": 1.056, "shared_machine": {"seconds_per_iteration": 0.28, "peak_gpu_mib": 9622.5, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "recipe/GSNet/recipe/ptv3-adamw-onecycle", "group": "recipe", "method": "GSNet", "sets": ["backbone=ptv3", "recipe=ptv3-adamw-onecycle"], "slot": "recipe", "component": "ParamGroups, OneCycleLR", "variant": "ptv3-adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "6f58b71c80d406f8", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3 --set recipe=ptv3-adamw-onecycle -o recipe__GSNet__recipe__ptv3-adamw-onecycle.yaml", "probe": "grasppanda probe recipe__GSNet__recipe__ptv3-adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 46352303, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.8866, 0.6747], "loss/graspness": [4.963, 1.057], "loss/view": [6.634, 1.221], "loss/score": [1.168, 0.08731], "loss/width": [3.149, 0.3071], "loss": [16.8, 3.347]}, "trend": {"loss/objectness": [0.8866, 0.7022, 0.208], "loss/graspness": [4.963, 1.101, 0.778], "loss/view": [6.634, 1.239, 0.813], "loss/score": [1.168, 0.08901, 0.924], "loss/width": [3.149, 0.2682, 0.915], "loss": [16.8, 3.399, 0.798]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [[0.1295, 0.2359, 0.4748], [0.1272, 0.2351, 0.4615]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.245, "peak_gpu_mib": 2807.2, "seconds": 23.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/EconomicGrasp/recipe/ptv3-adamw-onecycle", "group": "recipe", "method": "EconomicGrasp", "sets": ["backbone=ptv3", "recipe=ptv3-adamw-onecycle"], "slot": "recipe", "component": "ParamGroups, OneCycleLR", "variant": "ptv3-adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "7583329686f59a0c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=ptv3 --set recipe=ptv3-adamw-onecycle -o recipe__EconomicGrasp__recipe__ptv3-adamw-onecycle.yaml", "probe": "grasppanda probe recipe__EconomicGrasp__recipe__ptv3-adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 46748766, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.8846, 0.6848], "loss/graspness": [5.29, 1.101], "loss/view": [7.263, 1.635], "loss/angle": [2.67, 0.6836], "loss/depth": [1.423, 0.4044], "loss/score": [2.52, 0.6211], "loss/width": [0.9439, 0.7804], "loss": [20.99, 5.91]}, "trend": {"loss/objectness": [0.8846, 0.6949, 0.214], "loss/graspness": [5.29, 1.116, 0.789], "loss/view": [7.263, 1.639, 0.774], "loss/angle": [2.67, 0.6536, 0.755], "loss/depth": [1.423, 0.3725, 0.738], "loss/score": [2.52, 0.5834, 0.768], "loss/width": [0.9439, 0.7378, 0.218], "loss": [20.99, 5.797, 0.724]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.104, "mean": 0.116, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[-1.595, -1.266, -0.7992], [-1.597, -1.342, -0.564]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.244, "peak_gpu_mib": 3042.9, "seconds": 22.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/FineGrasp/recipe/ptv3-adamw-onecycle", "group": "recipe", "method": "FineGrasp", "sets": ["backbone=ptv3", "recipe=ptv3-adamw-onecycle"], "slot": "recipe", "component": "ParamGroups, OneCycleLR", "variant": "ptv3-adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "8678ff5579a6833d", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=ptv3 --set recipe=ptv3-adamw-onecycle -o recipe__FineGrasp__recipe__ptv3-adamw-onecycle.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe recipe__FineGrasp__recipe__ptv3-adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 49799905, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames."], "frames": 8, "losses": {"loss/objectness": [0.8121, 0.5959], "loss/graspness": [4.812, 0.8896], "loss/view": [11.27, 1.846], "loss/angle": [2.431, 0.7246], "loss/depth": [1.565, 0.3754], "loss/score": [1.588, 0.6435], "loss/width": [1.017, 0.6567], "loss": [23.5, 5.732]}, "trend": {"loss/objectness": [0.8121, 0.5967, 0.265], "loss/graspness": [4.812, 0.9021, 0.813], "loss/view": [11.27, 1.871, 0.834], "loss/angle": [2.431, 0.7095, 0.708], "loss/depth": [1.565, 0.3798, 0.757], "loss/score": [1.588, 0.6065, 0.618], "loss/width": [1.017, 0.6565, 0.354], "loss": [23.5, 5.722, 0.756]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.105, "mean": 0.127, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 5], "score_quantiles": [[-2.32, -2.282, -2.234], [-2.315, -2.28, -2.246]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.831, "peak_gpu_mib": 12453.6, "seconds": 64.8}, "run": "2026-10-15@2a3760a"},
  {"id": "recipe/GraspNet-baseline/recipe/ptv3-adamw-onecycle", "group": "recipe", "method": "GraspNet-baseline", "sets": ["backbone=ptv3", "recipe=ptv3-adamw-onecycle"], "slot": "recipe", "component": "ParamGroups, OneCycleLR", "variant": "ptv3-adamw-onecycle", "verdict": "runs", "judge": 2, "config_hash": "346bd6fa8d86fa28", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=ptv3 --set recipe=ptv3-adamw-onecycle -o recipe__GraspNet-baseline__recipe__ptv3-adamw-onecycle.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe recipe__GraspNet-baseline__recipe__ptv3-adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 46418380, "iterations": 20, "batch_size": 2, "grasps_per_frame": [483, 477], "frames": 8, "losses": {"loss/objectness": [0.7379, 0.4486], "loss/view": [0.2098, 0.09498], "loss/score": [0.07834, 0.03993], "loss/angle": [0.525, 0.4684], "loss/width": [0.491, 0.2204], "loss/tolerance": [1.145, 0.4534], "loss": [3.187, 1.726]}, "trend": {"loss/objectness": [0.7379, 0.4752, 0.356], "loss/view": [0.2098, 0.09568, 0.544], "loss/score": [0.07834, 0.04595, 0.413], "loss/angle": [0.525, 0.4684, 0.108], "loss/width": [0.491, 0.2341, 0.523], "loss/tolerance": [1.145, 0.4908, 0.571], "loss": [3.187, 1.81, 0.432]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 4], "score_quantiles": [[-21.9, 1.14, 17.8], [-8.469, 1.187, 14.35]], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.249, "peak_gpu_mib": 4235.9, "seconds": 18.8}, "run": "2026-10-15@96facee"},
  {"id": "recipe/Scale-Balanced-Grasp/recipe/ptv3-adamw-onecycle", "group": "recipe", "method": "Scale-Balanced-Grasp", "sets": ["backbone=ptv3", "recipe=ptv3-adamw-onecycle"], "slot": "recipe", "component": "ParamGroups, OneCycleLR", "variant": "ptv3-adamw-onecycle", "verdict": "runs-empty", "judge": 2, "config_hash": "538bbafc7e494ca7", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=ptv3 --set recipe=ptv3-adamw-onecycle -o recipe__Scale-Balanced-Grasp__recipe__ptv3-adamw-onecycle.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe recipe__Scale-Balanced-Grasp__recipe__ptv3-adamw-onecycle.yaml --iters 20 --frames 8 --schedule recipe --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "recipe", "parameters": 46889356, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.5906, 0.3818], "loss/view": [0.301, 0.16], "loss/score": [0.05654, 0.02361], "loss/angle": [0.5059, 0.4796], "loss/width": [0.4389, 0.2151], "loss/tolerance": [0.8368, 0.4433], "loss": [2.73, 1.703]}, "trend": {"loss/objectness": [0.5906, 0.3608, 0.389], "loss/view": [0.301, 0.1723, 0.428], "loss/score": [0.05654, 0.0221, 0.609], "loss/angle": [0.5059, 0.4671, 0.077], "loss/width": [0.4389, 0.2072, 0.528], "loss/tolerance": [0.8368, 0.4334, 0.482], "loss": [2.73, 1.663, 0.391]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 4], "score_quantiles": [null, null], "learning_rate": [0.0001, 1e-07], "lr_factor": 0.001, "shared_machine": {"seconds_per_iteration": 0.41, "peak_gpu_mib": 9688.4, "seconds": 21.4}, "run": "2026-10-15@96facee"},
  {"id": "cross/GSNet/point-transformer-v2+cylinder-vector-attention", "group": "cross", "method": "GSNet", "sets": ["backbone=point-transformer-v2", "grouper=cylinder-vector-attention"], "verdict": "runs", "judge": 2, "config_hash": "7ef7627ca3bd770c", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=point-transformer-v2 --set grouper=cylinder-vector-attention -o cross__GSNet__point-transformer-v2+cylinder-vector-attention.yaml", "probe": "grasppanda probe cross__GSNet__point-transformer-v2+cylinder-vector-attention.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 12513847, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7092, 0.3136], "loss/graspness": [0.7237, 0.1645], "loss/view": [0.9495, 0.6029], "loss/score": [0.08623, 0.025], "loss/width": [1.86, 0.1322], "loss": [4.328, 1.238]}, "trend": {"loss/objectness": [0.7092, 0.3925, 0.447], "loss/graspness": [0.7237, 0.1813, 0.749], "loss/view": [0.9495, 0.537, 0.434], "loss/score": [0.08623, 0.03179, 0.631], "loss/width": [1.86, 0.1525, 0.918], "loss": [4.328, 1.295, 0.701]}, "real_seeds": {"min": 0.817, "mean": 0.991, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[0.1008, 0.1185, 0.1353], [0.1049, 0.1199, 0.1342]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.577, "peak_gpu_mib": 4853.3, "seconds": 22.5}, "run": "2026-10-15@98e5310"},
  {"id": "cross/GSNet/pointvector+graspness-nms+roi-grid", "group": "cross", "method": "GSNet", "sets": ["backbone=pointvector", "proposal=graspness-nms", "grouper=roi-grid"], "verdict": "runs-empty", "judge": 2, "config_hash": "7d8188faeae1654a", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=pointvector --set proposal=graspness-nms --set grouper=roi-grid -o cross__GSNet__pointvector+graspness-nms+roi-grid.yaml", "probe": "grasppanda probe cross__GSNet__pointvector+graspness-nms+roi-grid.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 4830735, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.725, 0.6963], "loss/graspness": [2.752, 0.8126], "loss/view": [6.027, 1.626], "loss/score": [0.2068, 0.06675], "loss/width": [3.488, 0.7243], "loss": [13.2, 3.926]}, "trend": {"loss/objectness": [0.725, 0.7211, 0.005], "loss/graspness": [2.752, 0.9101, 0.669], "loss/view": [6.027, 1.767, 0.707], "loss/score": [0.2068, 0.07008, 0.661], "loss/width": [3.488, 0.5666, 0.838], "loss": [13.2, 4.035, 0.694]}, "active": {"loss/width": 19}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.007, "mean": 0.024, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.327, "peak_gpu_mib": 4533.3, "seconds": 18.4}, "run": "2026-10-15@98e5310"},
  {"id": "cross/GSNet/minkunet34c+healpix-192+multi-scale-linear", "group": "cross", "method": "GSNet", "sets": ["backbone=minkunet34c", "view=healpix-192", "grouper=multi-scale-linear"], "verdict": "runs", "judge": 2, "config_hash": "5953db7226a56a7d", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=minkunet34c --set view=healpix-192 --set grouper=multi-scale-linear -o cross__GSNet__minkunet34c+healpix-192+multi-scale-linear.yaml", "probe": "grasppanda probe cross__GSNet__minkunet34c+healpix-192+multi-scale-linear.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 39412931, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7192, 0.6081], "loss/graspness": [1.468, 0.2395], "loss/view": [2.266, 0.3618], "loss/score": [0.4985, 0.2743], "loss/width": [3.007, 0.3279], "loss": [7.959, 1.811]}, "trend": {"loss/objectness": [0.7192, 0.6403, 0.11], "loss/graspness": [1.468, 0.3039, 0.793], "loss/view": [2.266, 0.3594, 0.841], "loss/score": [0.4985, 0.2063, 0.586], "loss/width": [3.007, 0.4813, 0.84], "loss": [7.959, 1.991, 0.75]}, "real_seeds": {"min": 0.058, "mean": 0.829, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [34, 5], "score_quantiles": [[0.1363, 0.1957, 0.2638], [0.1147, 0.2042, 0.4144]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.262, "peak_gpu_mib": 3278.9, "seconds": 25.2}, "run": "2026-10-15@98e5310"},
  {"id": "cross/GSNet/volt+graspness-fpsample+icosphere-162+knn", "group": "cross", "method": "GSNet", "sets": ["backbone=volt", "proposal=graspness-fpsample", "view=icosphere-162", "grouper=knn"], "verdict": "runs-empty", "judge": 2, "config_hash": "72c4387128c4ba30", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=volt --set proposal=graspness-fpsample --set view=icosphere-162 --set grouper=knn -o cross__GSNet__volt+graspness-fpsample+icosphere-162+knn.yaml", "probe": "grasppanda probe cross__GSNet__volt+graspness-fpsample+icosphere-162+knn.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 24242309, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7238, 0.6897], "loss/graspness": [1.532, 0.2957], "loss/view": [1.397, 0.3243], "loss/score": [1.374, 0.07333], "loss/width": [2.799, 0.2371], "loss": [7.826, 1.62]}, "trend": {"loss/objectness": [0.7238, 0.6951, 0.04], "loss/graspness": [1.532, 0.3307, 0.784], "loss/view": [1.397, 0.3267, 0.766], "loss/score": [1.374, 0.08381, 0.939], "loss/width": [2.799, 0.242, 0.914], "loss": [7.826, 1.678, 0.786]}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.18, "peak_gpu_mib": 3076.4, "seconds": 13.7}, "run": "2026-10-15@98e5310"},
  {"id": "cross/GSNet/ptv3+dense-fps+direction-vmf+ball", "group": "cross", "method": "GSNet", "sets": ["backbone=ptv3", "proposal=dense-fps", "view=direction-vmf", "grouper=ball"], "verdict": "runs", "judge": 2, "config_hash": "55758f3c7eafb505", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=ptv3 --set proposal=dense-fps --set view=direction-vmf --set grouper=ball -o cross__GSNet__ptv3+dense-fps+direction-vmf+ball.yaml", "probe": "grasppanda probe cross__GSNet__ptv3+dense-fps+direction-vmf+ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 46332868, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/view": [2.876, 2.523], "loss/score": [1.239, 0.138], "loss/width": [4.258, 0.5789], "loss": [8.373, 3.24]}, "trend": {"loss/view": [2.876, 2.531, 0.12], "loss/score": [1.239, 0.1515, 0.878], "loss/width": [4.258, 0.7144, 0.832], "loss": [8.373, 3.397, 0.594]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [8, 4], "score_quantiles": [[0.1845, 0.3383, 0.5454], [0.1476, 0.343, 0.5204]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.508, "peak_gpu_mib": 2869.8, "seconds": 25.5}, "run": "2026-10-15@98e5310"},
  {"id": "cross/GSNet/uni3d+rotation-6d+multi-scale+schedulefree-adamw", "group": "cross", "method": "GSNet", "sets": ["backbone=uni3d", "view=rotation-6d", "grouper=multi-scale", "optimizer=schedulefree-adamw"], "verdict": "runs-empty", "judge": 2, "config_hash": "58733d4c3c10d0fb", "compose": "grasppanda compose gsnet/gsnet_sunet14_g1b-realsense_10e --set backbone=uni3d --set view=rotation-6d --set grouper=multi-scale --set optimizer=schedulefree-adamw -o cross__GSNet__uni3d+rotation-6d+multi-scale+schedulefree-adamw.yaml", "adapter": "FeaturePropagation", "fitted": ["out_channels: 512"], "probe": "grasppanda probe cross__GSNet__uni3d+rotation-6d+multi-scale+schedulefree-adamw.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 26380482, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7188, 0.6501], "loss/graspness": [1.292, 0.3566], "loss/view": [1.1, 0.4135], "loss/view_frame": [1.52, 1.256], "loss/score": [0.2629, 0.05768], "loss/width": [2.327, 0.3499], "loss": [7.22, 3.084]}, "trend": {"loss/objectness": [0.7188, 0.6562, 0.087], "loss/graspness": [1.292, 0.3968, 0.693], "loss/view": [1.1, 0.4956, 0.549], "loss/view_frame": [1.52, 1.217, 0.2], "loss/score": [0.2629, 0.07773, 0.704], "loss/width": [2.327, 0.4586, 0.803], "loss": [7.22, 3.104, 0.57]}, "active": {"loss/view_frame": 18}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [9, 5], "score_quantiles": [null, null], "learning_rate": [0.0025, 0.0025], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.545, "peak_gpu_mib": 10160.3, "seconds": 21.0}, "run": "2026-10-15@98e5310"},
  {"id": "cross/EconomicGrasp/dela+pyg-edge-conv+adamw", "group": "cross", "method": "EconomicGrasp", "sets": ["backbone=dela", "grouper=pyg-edge-conv", "optimizer=adamw"], "verdict": "runs-empty", "judge": 2, "config_hash": "0761ce0134225725", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=dela --set grouper=pyg-edge-conv --set optimizer=adamw -o cross__EconomicGrasp__dela+pyg-edge-conv+adamw.yaml", "probe": "grasppanda probe cross__EconomicGrasp__dela+pyg-edge-conv+adamw.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 7439136, "iterations": 20, "batch_size": 4, "grasps_per_frame": [0, 0], "frames": 8, "losses": {"loss/objectness": [0.7601, 0.3779], "loss/graspness": [0.7852, 0.1708], "loss/view": [2.124, 0.8346], "loss/angle": [1.95, 0.8953], "loss/depth": [1.251, 0.4744], "loss/score": [2.334, 0.7708], "loss/width": [1.232, 0.7318], "loss": [10.44, 4.256]}, "trend": {"loss/objectness": [0.7601, 0.3976, 0.477], "loss/graspness": [0.7852, 0.1906, 0.757], "loss/view": [2.124, 0.8442, 0.603], "loss/angle": [1.95, 0.9532, 0.511], "loss/depth": [1.251, 0.5204, 0.584], "loss/score": [2.334, 0.8008, 0.657], "loss/width": [1.232, 0.7498, 0.391], "loss": [10.44, 4.457, 0.573]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.1, "mean": 0.218, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 5], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.42, "peak_gpu_mib": 8815.4, "seconds": 19.4}, "run": "2026-10-15@98e5310"},
  {"id": "cross/EconomicGrasp/spunet-gaussiancross+graspness-voxel+box+warmup-cosine", "group": "cross", "method": "EconomicGrasp", "sets": ["backbone=spunet-gaussiancross", "proposal=graspness-voxel", "grouper=box", "schedule=warmup-cosine"], "verdict": "runs", "judge": 2, "config_hash": "983db9da9da33e82", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=spunet-gaussiancross --set proposal=graspness-voxel --set grouper=box --set schedule=warmup-cosine -o cross__EconomicGrasp__spunet-gaussiancross+graspness-voxel+box+warmup-cosine.yaml", "probe": "grasppanda probe cross__EconomicGrasp__spunet-gaussiancross+graspness-voxel+box+warmup-cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 39894248, "iterations": 20, "batch_size": 4, "grasps_per_frame": [282, 190], "frames": 8, "losses": {"loss/objectness": [0.6942, 0.6862], "loss/graspness": [0.2796, 0.2519], "loss/view": [1.147, 0.5964], "loss/angle": [-0.0, 0.7165], "loss/depth": [-0.0, 0.3348], "loss/score": [0.0, 0.6647], "loss/width": [-0.0, 0.7778], "loss": [2.12, 4.028]}, "trend": {"loss/objectness": [0.6942, 0.6871, 0.01], "loss/graspness": [0.2796, 0.2478, 0.114], "loss/view": [1.147, 0.5387, 0.53], "loss/angle": [2.148, 0.7403, 0.655], "loss/depth": [1.406, 0.3914, 0.722], "loss/score": [1.247, 0.6536, 0.476], "loss/width": [1.653, 0.7394, 0.553], "loss": [2.12, 3.998, -0.886]}, "active": {"loss/angle": 18, "loss/depth": 18, "loss/score": 18, "loss/width": 18}, "flags": {"loss/objectness": ["flat"]}, "real_seeds": {"min": 0.0, "mean": 0.407, "zero_iterations": 0}, "supervised_seeds": {"min": 0.0, "mean": 0.065, "zero_iterations": 2}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [[-2.252, -1.965, -1.687], [-2.202, -1.969, -1.678]], "learning_rate": [1e-06, 7.15e-06], "lr_factor": 7.15, "shared_machine": {"seconds_per_iteration": 0.14, "peak_gpu_mib": 1657.4, "seconds": 25.4}, "run": "2026-10-15@98e5310"},
  {"id": "cross/EconomicGrasp/pointmlp+lattice-topk+multi-scale", "group": "cross", "method": "EconomicGrasp", "sets": ["backbone=pointmlp", "view=lattice-topk", "grouper=multi-scale"], "verdict": "runs", "judge": 2, "config_hash": "0b197cf2129ce29c", "compose": "grasppanda compose economicgrasp/economicgrasp_sunet14_g1b-realsense_10e --set backbone=pointmlp --set view=lattice-topk --set grouper=multi-scale -o cross__EconomicGrasp__pointmlp+lattice-topk+multi-scale.yaml", "fitted": ["out_channels: 512"], "probe": "grasppanda probe cross__EconomicGrasp__pointmlp+lattice-topk+multi-scale.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 21296825, "iterations": 20, "batch_size": 4, "grasps_per_frame": [1024, 1024], "frames": 8, "losses": {"loss/objectness": [0.7267, 0.5972], "loss/graspness": [0.8115, 0.2251], "loss/view": [2.82, 0.6862], "loss/angle": [1.917, 1.89], "loss/depth": [1.709, 0.9756], "loss/score": [2.27, 1.557], "loss/width": [1.139, 0.6894], "loss": [11.39, 6.621]}, "trend": {"loss/objectness": [0.7267, 0.6046, 0.168], "loss/graspness": [0.8115, 0.2536, 0.688], "loss/view": [2.82, 0.7631, 0.729], "loss/angle": [1.917, 1.835, 0.043], "loss/depth": [1.709, 0.9742, 0.43], "loss/score": [2.27, 1.489, 0.344], "loss/width": [1.139, 0.7613, 0.332], "loss": [11.39, 6.681, 0.414]}, "flags": {"loss/angle": ["flat", "rising"], "loss/score": ["rising"]}, "real_seeds": {"min": 0.775, "mean": 0.968, "zero_iterations": 0}, "supervised_seeds": {"min": 0.079, "mean": 0.145, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [14, 5], "score_quantiles": [[-1.999, -1.992, -1.984], [-1.988, -1.983, -1.98]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.627, "peak_gpu_mib": 14300.7, "seconds": 23.6}, "run": "2026-10-15@98e5310"},
  {"id": "cross/FineGrasp/randlanet+lattice-soft-argmax+ema", "group": "cross", "method": "FineGrasp", "sets": ["backbone=randlanet", "view=lattice-soft-argmax", "hooks=ema"], "verdict": "runs-empty", "judge": 2, "config_hash": "146ebd999d053d86", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=randlanet --set view=lattice-soft-argmax --set hooks=ema -o cross__FineGrasp__randlanet+lattice-soft-argmax+ema.yaml", "fitted": ["in_channels: 6", "out_channels: 512"], "probe": "grasppanda probe cross__FineGrasp__randlanet+lattice-soft-argmax+ema.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 5760513, "iterations": 20, "batch_size": 8, "grasps_per_frame": [0, 0], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7305, 0.2983], "loss/graspness": [0.9088, 0.2158], "loss/view": [2.441, 0.7573], "loss/angle": [2.322, 1.108], "loss/depth": [2.415, 0.622], "loss/score": [1.667, 0.9277], "loss/width": [2.554, 0.7652], "loss": [13.04, 4.694]}, "trend": {"loss/objectness": [0.7305, 0.3183, 0.564], "loss/graspness": [0.9088, 0.2408, 0.735], "loss/view": [2.441, 0.7196, 0.705], "loss/angle": [2.322, 1.097, 0.528], "loss/depth": [2.415, 0.6156, 0.745], "loss/score": [1.667, 0.9239, 0.446], "loss/width": [2.554, 0.7911, 0.69], "loss": [13.04, 4.706, 0.639]}, "real_seeds": {"min": 0.997, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.118, "mean": 0.196, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [13, 5], "score_quantiles": [null, null], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.656, "peak_gpu_mib": 15292.8, "seconds": 48.2}, "run": "2026-10-15@98e5310"},
  {"id": "cross/FineGrasp/point-transformer-v1+cylinder-invres", "group": "cross", "method": "FineGrasp", "sets": ["backbone=point-transformer-v1", "grouper=cylinder-invres"], "verdict": "runs", "judge": 2, "config_hash": "3f2867c029135ec1", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=point-transformer-v1 --set grouper=cylinder-invres -o cross__FineGrasp__point-transformer-v1+cylinder-invres.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe cross__FineGrasp__point-transformer-v1+cylinder-invres.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 6229372, "iterations": 20, "batch_size": 8, "grasps_per_frame": [1024, 1024], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7321, 0.2262], "loss/graspness": [1.116, 0.1667], "loss/view": [2.116, 0.7298], "loss/angle": [3.273, 1.135], "loss/depth": [1.618, 0.5885], "loss/score": [2.262, 0.9719], "loss/width": [3.225, 0.735], "loss": [14.34, 4.553]}, "trend": {"loss/objectness": [0.7321, 0.2555, 0.651], "loss/graspness": [1.116, 0.1783, 0.84], "loss/view": [2.116, 0.7758, 0.633], "loss/angle": [3.273, 1.131, 0.654], "loss/depth": [1.618, 0.6061, 0.625], "loss/score": [2.262, 0.9761, 0.569], "loss/width": [3.225, 0.7439, 0.769], "loss": [14.34, 4.667, 0.675]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.092, "mean": 0.219, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [15, 5], "score_quantiles": [[-2.63, -2.602, -2.571], [-2.634, -2.603, -2.569]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.654, "peak_gpu_mib": 7923.7, "seconds": 46.5}, "run": "2026-10-15@98e5310"},
  {"id": "cross/FineGrasp/point-transformer-v1+lattice-best-view+depth-ball", "group": "cross", "method": "FineGrasp", "sets": ["backbone=point-transformer-v1", "view=lattice-best-view", "grouper=depth-ball"], "verdict": "runs", "judge": 2, "config_hash": "554f2d1992303780", "compose": "grasppanda compose finegrasp/finegrasp_sunet14_g1b-realsense_10e --set backbone=point-transformer-v1 --set view=lattice-best-view --set grouper=depth-ball -o cross__FineGrasp__point-transformer-v1+lattice-best-view+depth-ball.yaml", "fitted": ["in_channels: 6"], "probe": "grasppanda probe cross__FineGrasp__point-transformer-v1+lattice-best-view+depth-ball.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 5414844, "iterations": 20, "batch_size": 8, "grasps_per_frame": [62, 108], "notes": ["batches hold 8 frames, not the 32 of the recipe: the probe has no more frames.", "schedule constant: batches hold 8 frames where the recipe's hold 32, so every peak rate was scaled by 8/32 (the linear scaling rule): the probe trained at 0.002."], "frames": 8, "losses": {"loss/objectness": [0.7321, 0.2055], "loss/graspness": [1.116, 0.1327], "loss/view": [5.718, 4.446], "loss/angle": [1.978, 1.989], "loss/depth": [1.667, 1.002], "loss/score": [2.575, 1.64], "loss/width": [0.8821, 0.5594], "loss": [14.67, 9.974]}, "trend": {"loss/objectness": [0.7321, 0.2271, 0.69], "loss/graspness": [1.116, 0.1579, 0.858], "loss/view": [5.718, 4.507, 0.212], "loss/angle": [1.978, 2.023, -0.023], "loss/depth": [1.667, 0.9869, 0.408], "loss/score": [2.575, 1.637, 0.364], "loss/width": [0.8821, 0.5065, 0.426], "loss": [14.67, 10.05, 0.315]}, "flags": {"loss/angle": ["flat"]}, "real_seeds": {"min": 0.99, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.115, "mean": 0.245, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [12, 5], "score_quantiles": [[0.8526, 0.8634, 0.88], [0.8521, 0.8631, 0.8884]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.767, "peak_gpu_mib": 11705.4, "seconds": 49.9}, "run": "2026-10-15@98e5310"},
  {"id": "cross/GraspNet-baseline/pointnet2-msg+depth-ball+nms", "group": "cross", "method": "GraspNet-baseline", "sets": ["backbone=pointnet2-msg", "grouper=depth-ball", "post=nms"], "verdict": "runs", "judge": 2, "config_hash": "23ad588d257fb8cd", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=pointnet2-msg --set grouper=depth-ball --set post=nms -o cross__GraspNet-baseline__pointnet2-msg+depth-ball+nms.yaml", "probe": "grasppanda probe cross__GraspNet-baseline__pointnet2-msg+depth-ball+nms.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.001, "parameters": 1491660, "iterations": 20, "batch_size": 2, "grasps_per_frame": [568, 644], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[568, 325], [644, 330]]}, "losses": {"loss/objectness": [0.7826, 0.4972], "loss/view": [0.1929, 0.06999], "loss/score": [0.05869, 0.03219], "loss/angle": [0.5014, 0.4265], "loss/width": [0.5482, 0.2049], "loss/tolerance": [0.9343, 0.4334], "loss": [3.018, 1.664]}, "trend": {"loss/objectness": [0.7826, 0.5276, 0.326], "loss/view": [0.1929, 0.06986, 0.638], "loss/score": [0.05869, 0.02796, 0.524], "loss/angle": [0.5014, 0.4313, 0.14], "loss/width": [0.5482, 0.2059, 0.624], "loss/tolerance": [0.9343, 0.5025, 0.462], "loss": [3.018, 1.765, 0.415]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [[-17.49, 0.3069, 21.59], [-15.49, 0.6884, 20.17]], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.194, "peak_gpu_mib": 3110.0, "seconds": 11.2, "post_seconds": 0.085}, "run": "2026-10-15@96facee"},
  {"id": "cross/GraspNet-baseline/assanet+two-vector-baseline+depth-knn+timm-lamb", "group": "cross", "method": "GraspNet-baseline", "sets": ["backbone=assanet", "view=two-vector-baseline", "grouper=depth-knn", "optimizer=timm-lamb"], "verdict": "runs", "judge": 2, "config_hash": "5b4be00485bde85e", "compose": "grasppanda compose graspnet_baseline/graspnet-baseline_pointnet2_g1b-realsense_18e --set backbone=assanet --set view=two-vector-baseline --set grouper=depth-knn --set optimizer=timm-lamb -o cross__GraspNet-baseline__assanet+two-vector-baseline+depth-knn+timm-lamb.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe cross__GraspNet-baseline__assanet+two-vector-baseline+depth-knn+timm-lamb.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.002, "parameters": 2791348, "iterations": 20, "batch_size": 2, "grasps_per_frame": [1024, 1024], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/view": [1.338, 0.5385], "loss/view_frame": [2.935, 0.0], "loss/score": [0.06283, 0.05518], "loss/angle": [0.5046, 0.5021], "loss/width": [0.3681, 0.3019], "loss/tolerance": [1.172, 0.6453], "loss": [6.381, 2.043]}, "trend": {"loss/view": [1.338, 0.7584, 0.433], "loss/view_frame": [2.935, 1.111, 0.622], "loss/score": [0.06283, 0.04772, 0.24], "loss/angle": [0.5046, 0.504, 0.001], "loss/width": [0.3681, 0.2911, 0.209], "loss/tolerance": [1.172, 0.5907, 0.496], "loss": [6.381, 2.784, 0.564]}, "active": {"loss/view_frame": 14}, "flags": {"loss/view_frame": ["zero_at_end"], "loss/angle": ["flat"]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [7, 4], "score_quantiles": [[-44.77, 0.0231, 1226.0], [-32.05, 0.07875, 147.1]], "learning_rate": [0.002, 0.002], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.29, "peak_gpu_mib": 1893.2, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "cross/Scale-Balanced-Grasp/pointmetabase+depth-cylinder-attentive", "group": "cross", "method": "Scale-Balanced-Grasp", "sets": ["backbone=pointmetabase", "grouper=depth-cylinder-attentive"], "verdict": "runs-empty", "judge": 2, "config_hash": "974d3c5a0ba3d491", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=pointmetabase --set grouper=depth-cylinder-attentive -o cross__Scale-Balanced-Grasp__pointmetabase+depth-cylinder-attentive.yaml", "adapter": "FurthestPointSubsample", "probe": "grasppanda probe cross__Scale-Balanced-Grasp__pointmetabase+depth-cylinder-attentive.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 3061452, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "losses": {"loss/objectness": [0.7443, 0.3594], "loss/view": [0.3134, 0.1061], "loss/score": [0.03747, 0.02052], "loss/angle": [0.5096, 0.446], "loss/width": [0.5368, 0.1289], "loss/tolerance": [1.087, 0.3511], "loss": [3.228, 1.412]}, "trend": {"loss/objectness": [0.7443, 0.346, 0.535], "loss/view": [0.3134, 0.1212, 0.613], "loss/score": [0.03747, 0.02082, 0.444], "loss/angle": [0.5096, 0.439, 0.138], "loss/width": [0.5368, 0.169, 0.685], "loss/tolerance": [1.087, 0.3869, 0.644], "loss": [3.228, 1.483, 0.541]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [11, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.313, "peak_gpu_mib": 4144.0, "seconds": 13.7}, "run": "2026-10-15@96facee"},
  {"id": "cross/Scale-Balanced-Grasp/dgcnn+depth-box+gripper-limits", "group": "cross", "method": "Scale-Balanced-Grasp", "sets": ["backbone=dgcnn", "grouper=depth-box", "post=gripper-limits"], "verdict": "runs-empty", "judge": 2, "config_hash": "144b0027e70ce151", "compose": "grasppanda compose scale_balanced_grasp/sbg_pointnet2-transformer_g1b-realsense_18e --set backbone=dgcnn --set grouper=depth-box --set post=gripper-limits -o cross__Scale-Balanced-Grasp__dgcnn+depth-box+gripper-limits.yaml", "adapter": "FurthestPointSubsample", "fitted": ["out_channels: 256"], "probe": "grasppanda probe cross__Scale-Balanced-Grasp__dgcnn+depth-box+gripper-limits.yaml --iters 20 --frames 8 --schedule constant --opts data.train.dataset.scale_statistic.source=legacy_import data.train.dataset.scale_statistic.reference_sha256=909357a67265e93052ea309e455215298dbb067b8f4f3c2b511e015db7329cbd", "schedule": "constant", "rate": 0.001, "parameters": 1429740, "iterations": 20, "batch_size": 2, "grasps_per_frame": [0, 0], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.0.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 4 iteration(s) reaches at iteration 73; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["GripperLimits"], "grasps": [[0, 0], [0, 0]]}, "losses": {"loss/objectness": [0.6358, 0.3814], "loss/view": [0.2841, 0.1322], "loss/score": [0.04606, 0.02227], "loss/angle": [0.5192, 0.4292], "loss/width": [0.5074, 0.167], "loss/tolerance": [1.125, 0.4264], "loss": [3.117, 1.558]}, "trend": {"loss/objectness": [0.6358, 0.3495, 0.45], "loss/view": [0.2841, 0.1399, 0.508], "loss/score": [0.04606, 0.01886, 0.59], "loss/angle": [0.5192, 0.4289, 0.174], "loss/width": [0.5074, 0.2039, 0.598], "loss/tolerance": [1.125, 0.4143, 0.632], "loss": [3.117, 1.555, 0.501]}, "real_seeds": {"min": 1.0, "mean": 1.0, "zero_iterations": 0}, "supervised_seeds": {"min": 0.473, "mean": 0.493, "zero_iterations": 0}, "no_gradient": [], "unchanged": [], "checked": [10, 4], "score_quantiles": [null, null], "learning_rate": [0.001, 0.001], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.734, "peak_gpu_mib": 6558.9, "seconds": 22.3, "post_seconds": 0.0}, "run": "2026-10-15@96facee"},
  {"id": "cross/HGGD/convnextv2-atto+nms+adamw+cosine", "group": "cross", "method": "HGGD", "sets": ["image_encoder=convnextv2-atto", "post=nms", "optimizer=adamw", "schedule=cosine"], "verdict": "runs", "judge": 2, "config_hash": "526925ef4845ed10", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=convnextv2-atto --set post=nms --set optimizer=adamw --set schedule=cosine -o cross__HGGD__convnextv2-atto+nms+adamw+cosine.yaml", "probe": "grasppanda probe cross__HGGD__convnextv2-atto+nms+adamw+cosine.yaml --iters 20 --frames 8 --schedule recipe", "schedule": "recipe", "parameters": 5677022, "iterations": 20, "batch_size": 4, "grasps_per_frame": [273, 306], "frames": 8, "postprocessing": {"steps": ["GraspNMS"], "grasps": [[273, 141], [306, 169]]}, "losses": {"loss/heatmap": [1593.0, 9.926], "loss/angle": [3481.0, 593.5], "loss/offsets": [0.7266, 0.4972], "loss/anchor": [2782.0, 406.8], "loss/anchor_offset": [0.0, 0.3555], "loss": [7857.0, 1011.0]}, "trend": {"loss/heatmap": [1593.0, 11.33, 0.993], "loss/angle": [3481.0, 545.1, 0.843], "loss/offsets": [0.7266, 0.5194, 0.285], "loss/anchor": [2782.0, 132.3, 0.952], "loss/anchor_offset": [1.256, 0.5383, 0.571], "loss": [7857.0, 689.8, 0.912]}, "active": {"loss/anchor_offset": 18}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.3184, 0.4151, 0.5869], [0.3392, 0.415, 0.6095]], "learning_rate": [0.001, 2.545e-05], "lr_factor": 0.02545, "shared_machine": {"seconds_per_iteration": 0.93, "peak_gpu_mib": 8417.3, "seconds": 27.1, "post_seconds": 0.052}, "run": "2026-10-15@96facee"},
  {"id": "cross/HGGD/tv-mobilenetv3-large+top-k+ema", "group": "cross", "method": "HGGD", "sets": ["image_encoder=tv-mobilenetv3-large", "post=top-k", "hooks=ema"], "verdict": "runs", "judge": 2, "config_hash": "844885ba8630720f", "compose": "grasppanda compose hggd/hggd_r34w8_g1b-realsense_15e --set image_encoder=tv-mobilenetv3-large --set post=top-k --set hooks=ema -o cross__HGGD__tv-mobilenetv3-large+top-k+ema.yaml", "probe": "grasppanda probe cross__HGGD__tv-mobilenetv3-large+top-k+ema.yaml --iters 20 --frames 8 --schedule constant", "schedule": "constant", "rate": 0.01, "parameters": 5334662, "iterations": 20, "batch_size": 4, "grasps_per_frame": [380, 360], "notes": ["schedule constant: the batch-norm momentum was held at 0.5, its value in the recipe's first epoch (hooks.1.decay=1). The recipe (BNMomentumHook) decays it per epoch to 0.001, which an epoch of 2 iteration(s) reaches at iteration 39; from there the running statistics that prediction normalises with would stay where they were while the weights train on."], "frames": 8, "postprocessing": {"steps": ["TopK"], "grasps": [[380, 50], [360, 50]]}, "losses": {"loss/heatmap": [5580.0, 3.833], "loss/angle": [6808.0, 206.3], "loss/offsets": [0.8777, 0.3764], "loss/anchor": [365.6, 2.836], "loss/anchor_offset": [1.411, 2.762], "loss": [12760.0, 216.2]}, "trend": {"loss/heatmap": [5580.0, 11.49, 0.998], "loss/angle": [6808.0, 243.6, 0.964], "loss/offsets": [0.8777, 0.3202, 0.635], "loss/anchor": [365.6, 2.394, 0.993], "loss/anchor_offset": [1.411, 1.664, -0.179], "loss": [12760.0, 259.1, 0.98]}, "active": {"loss/anchor_offset": 16}, "no_gradient": [], "unchanged": [], "checked": [16, 2], "score_quantiles": [[0.002331, 0.004768, 0.04397], [0.002019, 0.004834, 0.04465]], "learning_rate": [0.01, 0.01], "lr_factor": 1.0, "shared_machine": {"seconds_per_iteration": 0.455, "peak_gpu_mib": 9367.6, "seconds": 17.6, "post_seconds": 0.0}, "run": "2026-10-15@96facee"}
 ]
}
