| # Point Transformer V3 encoder (negative result) |
|
|
| This is the Point Transformer V3 encoder experiment from the write-up. We |
| replaced the Perceiver encoder with a Point Transformer V3 encoder (per-point |
| features, no latent bottleneck) to test whether a stronger encoder would scale |
| past the 8k Perceiver. |
|
|
| **Outcome.** Trained from scratch at 8k for 200k steps, it plateaued at ~0.323 |
| local HSS, below the curriculum-trained Perceiver (~0.357), and ran at roughly |
| 6 s/sample on an A5000 — over the two-hour T4 evaluation budget. It was never |
| submitted. This folder is provided as confirmation that the experiment was run. |
|
|
| ## Contents |
|
|
| ``` |
| checkpoint_ptv3_8k.pt trained weights (200k steps at 8k) |
| train_args.json training configuration |
| ptv3_code/ the PT v3 encoder (adapted from the Pointcept release) |
| and the [B,T,*] <-> flat adapter (encoder_wrapper.py) |
| model_with_ptv3.py EdgeDepthSegmentsModel with the arch="ptv3" branch |
| (drop-in replacement for s23dr_2026_example/model.py) |
| ``` |
|
|
| ## Notes |
|
|
| - Extra dependencies beyond the main `requirements.txt`: |
| `spconv-cu121`, `torch-scatter`, `addict` (and optionally `flash-attn`). |
| - To run it, place `ptv3_code/` as `s23dr_2026_example/ptv3/`, use |
| `model_with_ptv3.py` as `s23dr_2026_example/model.py`, and load the checkpoint |
| with `arch="ptv3"`. Inference must use fp32 (spconv does not tune fp16 kernels |
| reliably on these GPUs). |
| - The PT v3 encoder is adapted from the authors' Pointcept release. |
|
|