Downloads · 30 days
0
gwd200/orena-procedure-runtime
orena-procedure-runtime is a machine learning model from gwd200. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
This package is designed to be downloaded into an empty directory, built as a GPU container, and invoked with one local video plus one question. The package contains the complete 13-file merged model, preprocessing so…
Downloads · 30 days
0
Access
Public
Updated Sep 4, 2026
Repo size
91.4 GB
Likes
0
Public
Click a slice to open those files.
.gz71.6 GB · 78%
From the Hugging Face model README
This package is designed to be downloaded into an empty directory, built as a GPU container, and invoked with one local video plus one question. The package contains the complete 13-file merged model, preprocessing source, inference entrypoint, immutable model manifest, and Docker build recipe.
c372e38348349baa7a20eb3ea771b2ae3f742f764f107c3b9e539d272931677b.The runtime applies these steps in order:
pts * time_base; missing timestamps or a
regressing presentation timeline fail the request.0, 5, 10, ... (stride
5). Optional clip bounds are inclusive source-time bounds. The default is
the whole video.(i * (M - 1) + 127) // 255, for i=0..255.uint8 pixels are converted to BGR and encoded by OpenCV as JPEG
at quality 95. The written bytes are compared with an in-memory OpenCV
encoding of the same frame.frames_indices with fps=1000, so
it cannot collapse gaps to a fake uniform clock. The prompt also declares
the first and last absolute source time and says not to renormalize them.temperature=0, seed 43, maximum 128 new tokens,
maximum model length 32768, thinking disabled, and the ms-swift
non-thinking prefix enabled.Direct dependency versions are recorded in requirements.direct.txt; the
resolved 254-package Python 3.11/CUDA 13.0 environment is frozen in
requirements.lock.txt. The
preprocessing identity used during development was PyAV 18.1.0, Decord 0.6.0,
OpenCV headless 5.0.0.93, ms-swift 4.5.2, qwen-vl-utils 0.0.14,
Transformers 5.15.1, vLLM 0.26.0, Torch 2.11.0 from the CUDA 13.0 wheel index,
NumPy 2.3.5, and Pillow 10.4.0. The headless OpenCV wheel is deliberately
reinstalled last because vLLM also declares the GUI OpenCV distribution; the
final image receipt must bind the imported cv2 native-library identity.
Transitive dependency versions are reported in each inference output; the
Docker build is not considered frozen until a successful image smoke receipt
names the final image digest and package freeze.
The final publication will use the private model repository
gwd200/orena-procedure-runtime. Replace <REVISION> with the immutable commit
OID announced with the release; do not use main for a reproducible build.
mkdir procedure-runtime && cd procedure-runtime
hf download gwd200/orena-procedure-runtime \
--revision <REVISION> \
--local-dir .
podman build --tag procedure-ep15-runtime:<REVISION> .
podman run --rm --network=none \
procedure-ep15-runtime:<REVISION> verify
verify hashes all 13 model files, requires the exact manifest inventory,
imports and version-checks every direct runtime dependency, binds the loaded
OpenCV native extension, and hashes both requirement files. It must print a
JSON object with "status": "PASS".
The container needs one NVIDIA GPU with enough memory for the 9B model and a writable output mount. H200/H100-80GB or A100-80GB is the intended class; A100-40GB is not a supported target for the frozen 32k configuration.
mkdir -p output
podman run --rm --gpus all --network=none \
--volume "$PWD/input:/input:ro" \
--volume "$PWD/output:/output:rw" \
procedure-ep15-runtime:<REVISION> infer \
--video /input/example.mp4 \
--question 'What procedure is performed in the video?' \
--output /output/result.json
Optional inclusive source-time bounds are decimal seconds:
--clip-start 12.5 --clip-end 87.25
On success, result.json contains the answer, finish reason, model verification
receipt, dependency versions, complete 256-frame JPEG/PTS ledger, blank-filter
count, true-time mapping error statistics, template configuration, and sampling
configuration. No annotation, gold answer, scorer, dataset index, network
service, W&B credential, or project-private path is required.
To inspect and retain the frame surface without loading the model:
mkdir -p output
podman run --rm --network=none \
--volume "$PWD/input:/input:ro" \
--volume "$PWD/output:/output:rw" \
procedure-ep15-runtime:<REVISION> preprocess \
--video /input/example.mp4 \
--question 'What procedure is performed in the video?' \
--work-dir /output/preprocessed \
--output /output/preprocess.json
The preprocess command retains preprocessed/frames/ plus a JSON inference-row
surface. infer uses a temporary frame directory unless --work-dir is given.
The command exits non-zero on model-manifest mismatch, missing/extra model files, timestamp regression, Decord/PyAV ordinal mismatch, a clip with fewer than 256 stride frames, fewer than 74 frames after blank removal, dependency or template failure, model-load failure, or inference failure. It never falls back to a different sampling path, checkpoint, model length, precision, or GPU topology.
Output JSON paths are no-clobber evidence surfaces: an existing output file is never replaced. Choose a fresh output path for every request.