GSSC-S2D2 — released checkpoints
Pretrained weights for S²D² (Structured Source Discrete Diffusion) and the PS³ pyramid generator, as released with the paper Generative Semantic Scene Completion. Code, configs, docs and every reproduction command live in the GitHub repository:
➡ https://github.com/BillyChern/GSSC-S2D2
Non-commercial. Although our own contribution is MIT-licensed, every checkpoint here was trained on SemanticKITTI, which is distributed under CC BY-NC-SA 4.0. Downstream use of these weights therefore inherits that dataset's non-commercial, share-alike and attribution terms. The MIT grant does not by itself authorise commercial use. See
LICENSEin this repo.
What is in here
18 checkpoint directories, 52 files, 4.91 GB (4.58 GiB). Each directory
ships config.json (training config, best_miou, global_step,
source_sha256, paper cross-reference), model.safetensors (training
weights) and, where the run used EMA, model_ema.safetensors (deployment
weights — the paper convention and the default for the inference scripts).
One directory, bev/bev_s2d2_scpnet/, additionally ships the pre-conversion
model.pt; prefer the .safetensors (see Verify before you load).
| Directory | What it is |
|---|---|
gssc_mf/gssc_31k_mf_step40000/ |
Headline S²D² model on the frozen SCPNet base |
gssc_mf/gssc_57k_mf_step40000/ |
Internal 57K multi-frame negative result (in no paper table) |
gssc_sf/gssc_{0,10,20,31,57}K_sf_step*/ |
Single-frame data-scaling companion sweep |
gssc_js3c/gssc_js3c_s2d2_real/ |
Cross-base row: JS3C-Net + S²D² |
gssc_lmsc/gssc_lmsc_s2d2_real/ |
Cross-base row: LMSCNet + S²D² |
gssc_timesteps/gssc_{T10,T50,T100skewed}/ |
Timestep-schedule ablation (supplement prose, no table) |
pyramid/pyramid_s{1,2,3}/ |
PS³ pyramid generator stages (32×32×4 → 64×64×8 → 256×256×32) |
bev/bev_s2d2_scpnet/ |
The BEV secondary-task model |
bev/bev_perception_net/ |
A 938K-param refinement net. NOT the paper's BEV row, and it does not load in the BEV evaluator |
bev/bev_direct_l3_deeper/ |
Internal BEV-architecture ablation, not tabulated |
scpnet_v2_port.pth |
Third-party SCPNet base weights (see licence below) |
MANIFEST.txt |
Generated cross-reference: directory → paper label, size, provenance |
checksums.txt |
Generated SHA256 of every other file in this repo |
MANIFEST.txt is the authority on which checkpoint backs which paper
claim, and under which evaluation protocol. It is generated from disk and
from each config.json, so it cannot drift from what is actually here. Read
it before quoting any number from these weights — several of them are
internal diagnostics that the paper deliberately does not print, and one
directory (bev/bev_perception_net/) has previously been mis-cited as the
paper's BEV model.
Headline result for orientation only: gssc_mf/gssc_31k_mf_step40000
reaches 38.54 % val mIoU on SemanticKITTI sequence 08 (N=1, no TTA,
official semantic-kitti-api). The cross-base rows lift their frozen bases
by +1.6 pp (JS3C-Net) and +1.8 pp (LMSCNet) under the same evaluator.
Full per-row numbers, protocols and commands are in
docs/MODEL_ZOO.md.
Download
The supported route is the downloader in the code repository, which places
everything where the configs expect it (data/checkpoints/):
git clone https://github.com/BillyChern/GSSC-S2D2
cd GSSC-S2D2
python scripts/download_assets.py --checkpoints # ~4.9 GB
Or directly:
from huggingface_hub import snapshot_download
snapshot_download("Stone-Chern/GSSC-S2D2-checkpoints",
repo_type="model", local_dir="data/checkpoints")
Verify before you load
cd data/checkpoints && sha256sum -c checksums.txt
Paths inside checksums.txt are relative to that directory, so run it from
inside data/checkpoints/, not from its parent. Every line must print
OK and the command must exit 0.
This matters more than usual here. Of the 52 files, 30 are .safetensors -- a
format that cannot carry an executable payload -- but two are pickles:
the third-party scpnet_v2_port.pth, and bev/bev_s2d2_scpnet/model.pt (the
pre-conversion copy of that checkpoint's weights; the .safetensors beside it
is the one the evaluator command uses). GSSC-S2D2 loads .pt / .pth
checkpoints with torch.load(..., weights_only=False), because the saved
state carries optimizer and EMA buffers that weights_only=True cannot
represent, so loading a tampered one is equivalent to running
attacker-supplied code. For scpnet_v2_port.pth that loader is
src/gssc/inference/run_scpnet.py, which scripts/eval_semanticposs.py
drives with --checkpoint data/checkpoints/scpnet_v2_port.pth. A FAILED or
FAILED open or read line means do not load that file. See
SECURITY.md.
Related repositories
- Code — https://github.com/BillyChern/GSSC-S2D2
- Datasets (base-model predictions + rare-class object bank) —
Stone-Chern/GSSC-S2D2-datasets - Synthetic pool — cite
doi:10.21227/nqgf-9k39 (IEEE
DataPort; downloading from there needs an IEEE DataPort subscription),
download from either that record or the free mirror
Stone-Chern/PS3-SemanticKITTI, which holds the identical archives.docs/DATASET.mdalso documents a local rebuild. The pyramid generator checkpoints in this repo are what that rebuild runs.
Licence
- Our contribution (the trained weights, manifests and this card): MIT
— see the
LICENSEfile in this repository. - Upstream data: all weights were trained on SemanticKITTI (CC BY-NC-SA 4.0) — non-commercial, share-alike, attribution required. Credit SemanticKITTI and KITTI when you use these weights.
scpnet_v2_port.pth: third-party SCPNet (Xia et al., CVPR 2023) pretrained weights, carried unmodified -- the "port" in the name is spconv-2.3 kernel-shape patching applied at load time, not a modified file. SCPNet publishes no upstream licence; this file is redistributed with the SCPNet authors' explicit permission and with attribution to them. No licence is asserted on their behalf.
The full notice list is in LICENSE here, and in
THIRD_PARTY_NOTICES.md
in the code repository.
Citation
@unpublished{chen2026gssc,
title = {Generative Semantic Scene Completion},
author = {Chen, Shi and Ge, Weifeng},
note = {Under review},
year = {2026}
}
Please also cite SemanticKITTI as the source dataset, and the relevant base model (SCPNet, JS3C-Net or LMSCNet) when using a cross-base checkpoint.