Downloads · 30 days
0
Ravenh97/roborender_image3f
roborender_image3f is a robotics model from Ravenh97. Use it for the robotics task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
Per-frame 3-view robot-scene renderer: one request = prompt + 3x(depth, robot mask, previous RGB) - three synchronized 416x240 views. Used to relabel observations inside a DAgger loop at ~192 ms/frame.
Downloads · 30 days
0
Access
Public
Updated Sep 6, 2026
Repo size
724 MB
Likes
0
Public
Click a slice to open those files.
.safetensors700 MB · 96%
From the Hugging Face model README
Per-frame 3-view robot-scene renderer: one request = prompt + 3x(depth, robot mask, previous RGB) -> three synchronized 416x240 views. Used to relabel observations inside a DAgger loop at ~192 ms/frame.
What is here: the fine-tuned LoRA adapter plus the deployment source (runtime, export and engine-build scripts, vendored pipeline, tokenizer, model card).
What is not, and why:
PAI/Wan2.1-Fun-V1.1-1.3B-Control separately and point
ROBORENDER_MODEL_BASE at it.bin/create_baremetal_env.sh -> bin/doctor.py --stage pre-export ->
bin/export_onnx.sh -> bin/build_engine.sh -> bin/doctor.py --stage runtime ->
bin/calibrate_teacache.sh -> bin/smoke_test.sh.Contract: batch 1, 5 denoising steps, CFG 1.0, views ext1/ext2/wrist. Conditioning is
fixed-lag-256; in practice hold one teacher-rendered anchor per episode (FT-FIXED).
Chaining on the model's own outputs collapses around frame 20. More denoising steps make it
worse here — 50 steps drifts off the anchor's colours (17.9 dB at 5 steps vs 14.5 at 50).
Anchors: Ravenh97/roborender_anchors ·
Teacher that renders them: Ravenh97/roborender_teacher_lora
Gotchas: the tree is hash-verified by doctor (never leave edits in it),
PYTHONDONTWRITEBYTECODE=1 is required, and assets/generated/ must be empty at package stage.
This is the portable, build-on-target release for the rgb030-depth030
RoboRender Image3F LoRA at fine-tuning update 5000. It contains the adapter,
tokenizer, a fixed-lag-256 validation fixture, Raven source, and the scripts
needed to export and compile the accelerated five-step path on the deployment
GPU.
This archive is intentionally thin. It contains none of the following:
.engine or .plan files;Those exclusions are part of the portability contract, not missing files. Point the bundle at an authorized Raven foundation-model directory, then export ONNX and build TensorRT on the exact RTX 4090 and software stack that will run the model.
Start with HANDOFF.md for an operator-ready sequence.
| Item | Status |
|---|---|
| Adapter | Included and pinned by size and SHA-256 |
| Foundation weights | Required externally through ROBORENDER_MODEL_BASE |
| Adapter-specific ONNX | Generated locally; not distributed |
| TensorRT engine and timing cache | Generated locally; not distributed |
| CUDA Graph | Disabled by default; no capture is distributed |
| Five-step + TeaCache source path | Adapter-specific B200 validation passed at threshold 0.3 |
| RTX 4090 correctness, memory, and latency certification | Not yet completed |
| 200 ms / 5 Hz claim on RTX 4090 | No claim until target certification passes |
The default TeaCache threshold is 0.3. Adapter-specific B200 validation
measured 186.34 ms mean full-RGB latency at CFG 1 with PSNR 38.77 dB and SSIM
0.9904 versus the five-step PyTorch path. Those results select a conservative
algorithm setting; they are not performance claims for an RTX 4090.
adapter/rgb030-depth030-step-5000.safetensors.c68de259ce5ee8e4df5a45296be8328242b3ebba351990df1d86f4e3a7a2d588.ext1, ext2, wrist.416x240; batch size 1; one generated frame per view.t < 256, use RGB frame 0; for
t >= 256, use RGB frame t-256.0.3. When a modality triggers, exactly one of its three views
is selected for dropping. Masks are never dropped. RGB dropout is disabled
for the frame-0 bootstrap prefix.1.0.The five-step sampler is a coarse inference schedule applied to this LoRA. It is not a separately trained KD, self-forcing, or FastGen student model.
Set ROBORENDER_MODEL_BASE to a directory containing:
PAI/Wan2.1-Fun-V1.1-1.3B-Control/
├── diffusion_pytorch_model.safetensors
├── Wan2.1_VAE.pth
├── models_t5_umt5-xxl-enc-bf16.pth
└── models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth
Exact byte sizes and SHA-256 values are locked in
config/foundation_models.lock.json. The package does not download those
files and must not silently substitute another model revision.
Run from the extracted package root:
export ROBORENDER_MODEL_BASE=/absolute/path/to/raven-model-root
export CUDA_VISIBLE_DEVICES=0
python3 bin/doctor.py --stage package
./bin/create_baremetal_env.sh
export PYTHON="$PWD/.venv/bin/python"
"$PYTHON" bin/doctor.py \
--stage pre-export --model-root "$ROBORENDER_MODEL_BASE"
PYTHON="$PYTHON" ./bin/export_onnx.sh
PYTHON="$PYTHON" ./bin/build_engine.sh
"$PYTHON" bin/doctor.py \
--stage runtime --model-root "$ROBORENDER_MODEL_BASE"
PYTHON="$PYTHON" ./bin/calibrate_teacache.sh
PYTHON="$PYTHON" ./bin/smoke_test.sh
build_engine.sh calls the exporter when a matching export is absent. The
explicit export command is shown so handoff operators can distinguish export
failures from TensorRT build failures.
Generated files are written only under assets/generated/:
assets/generated/
├── onnx/<adapter-and-base-lineage-key>/
├── engines/<target-and-software-key>/
├── engines/current -> <target-and-software-key>
└── timing/
Do not add this generated directory to the release ZIP.
After the target engine passes doctor:
"$PYTHON" runtime/image3f_deploy.py \
--model-root "$ROBORENDER_MODEL_BASE" \
--memory-mode auto \
--vae-mode untiled \
run \
--request assets/fixtures/lag256/request.json \
--output-type rgb \
--warmup 1 \
--iterations 5 \
--output-dir outputs/lag256-smoke
Use --output-type latent to omit VAE decoding. Report latent-only and
full-RGB latency separately. Runtime timing does not include model startup,
sensor capture, filesystem/IPC transport, robot policy execution, or actuation.
Keep one Image3FSession alive. Model loading, TensorRT deserialization, and
prompt embedding are startup costs and should not occur per frame. The caller
must retain at least 257 synchronized RGB triplets:
reference(t) = RGB(0) when t < 256
reference(t) = RGB(t - 256) when t >= 256
If the deployment evaluates autoregressive drift, RGB(t-256) must be the
model-generated RGB stored at that earlier step. If it evaluates a
teacher-conditioned path, use the captured RGB from that earlier step and
label the result accordingly. Never substitute t-1; doing so changes the
training contract and can encourage copying.
Warm the exact production prompt before signaling the robot loop ready. Apply backpressure rather than queuing stale observations. Independently measure the complete observation-to-action loop before claiming real-time operation.
| Path | Purpose |
|---|---|
adapter/ | Fine-tuned LoRA and immutable training provenance |
assets/tokenizer/ | Pinned tokenizer files |
assets/fixtures/lag256/ | Exact t / t-256 three-view build and smoke fixture |
assets/generated/ | Target-local output; absent or empty in the ZIP |
config/deployment.json | Machine-readable release and runtime contract |
config/foundation_models.lock.json | External Raven weight identities |
runtime/ | Persistent inference, lineage, and TensorRT runtime code |
bin/export_onnx.sh | Adapter-specific ONNX export |
bin/build_engine.sh | Target-native TensorRT build and correctness gate |
bin/calibrate_teacache.sh | Matched CFG-1/CFG-5 target TeaCache sweep |
bin/doctor.py | Package, foundation, export, and runtime verification |
vendor/raven-image3f-joint/ | Raven source snapshot used for export/runtime |
validation/b200_rgb030_depth030_20260730/ | Small retained B200 reports and representative comparison images; no generated engine/ONNX |
docs/RTX4090_RUNBOOK.md | Target qualification and acceptance gates |
docs/RTX4090_RUNBOOK.md pass.