cursus.steps.scripts.graphstorm_gnn_inference_eval¶
GraphStormGNNInferenceEval step entry point (Nexus run_evaluation.py).
The REAL evaluator is the bundled run_evaluation.py (~486 lines) that ships in the BYO
GraphStorm image’s code bundle, invoked via the interface’s
container_entrypoint: [bash, /opt/ml/processing/input/code/entrypoint.sh]. It:
selects a checkpoint (auto / latest / epoch-N-iter-M) from the mounted model,
converts a multi-task checkpoint to single-task when needed,
auto-tunes GPU workers by probing live VRAM with
nvidia-smi(--auto-tune),runs the online-inference simulator over the eval subgraph S3 folder (
--subgraph-s3-uri, streamed directly from S3 — NOT a mounted channel),computes ROC-AUC / PR-AUC / Recall@Precision and writes
predictions/*.parquet+evaluation_report.md+plots/*.pngto /opt/ml/processing/output.
graphstorm/dgl/torch are baked into the image, so this step vendors NO evaluation code into cursus.
This module is the cursus-declared entry_point (informational + a defensive delegator): if ever
run as a plain SageMaker script rather than via the ContainerEntrypoint, it execs the bundled
evaluator so behavior is identical.
Contract args (from the interface job_arguments): –subgraph-s3-uri, –query-type, –checkpoint, –model-type (+ –auto-tune appended by the builder when config.auto_tune). Env: ID_FIELD, LABEL_FIELDS (required), QUERY_TYPE / MAX_WORKERS_PER_GPU / MAX_RUNTIME_SECONDS / AUTO_TUNE.