File size: 3,855 Bytes
4e5de6c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fa5b80e
 
 
 
4e5de6c
 
 
 
 
 
 
 
 
 
 
fa5b80e
 
 
 
 
 
4e5de6c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
---
license: mit
library_name: pytorch
tags:
  - robotics
  - reinforcement-learning
  - visuo-tactile
  - grasping
  - pybullet
  - tacto
---

# Single-Step Grasp Refinement

This repository stages the public checkpoint for the single-step visual-tactile grasp refinement policy. The default release contains one evaluation-ready Full SGA-GSN model trained with the PPCT/SGA-GSN perception backbone.

License: MIT. The single-step RL code and staged model checkpoint are released
under the same permissive license family as the AdaPoinTr-derived SGA-GSN code.
Dataset, perception weights, and simulation assets remain separate dependencies
with their own license terms.

## Contents

```text
checkpoints/full_sga_gsn_seed8_best.pt
configs/full_sga_gsn_seed8/configs/
metadata/
normalization/
ablations/
backbones/
```

The public checkpoint keeps `actor_critic`, `calibrator`, `experiment_cfg`, `object_split`, and best-metric metadata. It omits `optimizer` and full training `history`, so it is intended for rollout/evaluation rather than exact training resume.

## Default Model

- Release name: `full_sga_gsn_seed8`
- Best validation metric: `validation/outcome/success_lift_vs_dataset = 0.109375`
- Best iteration: `465`
- Completed iterations: `466`
- Split seed: `7`
- Train objects: `000` to `074`
- Validation objects: `078`, `082`, `085`, `087`
- Test objects: `075`, `076`, `077`, `079`, `080`, `081`, `083`, `084`, `086`

The formal unseen-test summary used for this staging pass reports `macro_success_lift_mean = 0.0969230769` for `full-sga-gsn-seed8`. See `metadata/evaluation_metrics.json` for the full table.

## Required External Assets

This model repo does not include the perception weights, dataset, or simulator assets. A working rollout environment must provide:

- SGA-GSN perception code and weights:
  - `ap_ps55.pth`
  - PPCT/SGA-GSN `ckpt-best.pth`
  - matching PPCT/SGA-GSN config
- 3DA-VTG dataset restored to the path expected by the RL config.
- VT-Grasp simulation assets:
  - GraspNet VHACD object models
  - GSmini TACTO config/background
  - GSmini Panda hand assets
- The RL code and Docker environment that define `scripts/evaluate_best_checkpoints.py`, PyBullet, TACTO, and the environment wrappers.

The `v1.1.0` config snapshot uses the public runtime variables
`VT_GRASP_SGAGSN_ROOT`, `VT_GRASP_DATASET_ROOT`, and
`VT_GRASP_OUTPUT_ROOT`. The public bootstrap command creates the required
weight and asset links without legacy compatibility paths.

## Config Snapshot

The config snapshot is nested as:

```text
configs/full_sga_gsn_seed8/configs/{experiment,env,perception,calibration,rl,model}/
```

This preserves compatibility with the RL loader, which resolves paths such as `configs/env/grasp_refine_env_stb5x.yaml` relative to a directory named `configs`.

The recommended setup is:

```bash
bootstrap_release.sh all-small
```

For evaluation, copy or symlink this inner `configs/` directory next to `checkpoints/best.pt` in an experiment directory:

```text
my_eval_exp/
β”œβ”€β”€ checkpoints/
β”‚   └── best.pt
└── configs/
    β”œβ”€β”€ experiment/
    β”œβ”€β”€ env/
    β”œβ”€β”€ perception/
    β”œβ”€β”€ calibration/
    β”œβ”€β”€ rl/
    └── model/
```

## Normalization

No separate observation normalization file was found in the current RL code or selected experiment. Action scaling is encoded in `configs/full_sga_gsn_seed8/configs/env/grasp_refine_env_stb5x.yaml`:

- `translation_bound: [0.01, 0.01, 0.01]`
- `rotation_bound: [0.1, 0.1, 0.1]`

## Ablations

The minimal public release does not include ablation checkpoints. Learned ablation candidates are documented in `ablations/README.md`. `no-action` and `rand-action` baselines do not require model weights.

## Checksums

Run checksum verification from the repository root:

```bash
sha256sum -c checksums.sha256
```