Local stub inference walkthrough¶
Run badc infer run --stub-runner against a small manifest to validate scheduler wiring.
Paths + manifest generation¶
[ ]:
import subprocess
from pathlib import Path
DATASET_ROOT = Path("..") / "data" / "datalad" / "bogus"
AUDIO_FILE = DATASET_ROOT / "audio" / "GNWT-290_20230331_235938.wav"
MANIFEST = DATASET_ROOT / "manifests" / "GNWT-290_stub.csv"
MANIFEST.parent.mkdir(exist_ok=True)
subprocess.run(
[
"badc",
"chunk",
"manifest",
str(AUDIO_FILE),
"--chunk-duration",
"60",
"--output",
str(MANIFEST),
],
check=True,
)
print("Manifest ready:", MANIFEST)
Stub inference¶
Set USE_HAWKEARS = True once GPUs+HawkEars assets are available.
[ ]:
USE_HAWKEARS = False
cmd = [
"badc",
"infer",
"run",
str(MANIFEST),
"--output-dir",
str(DATASET_ROOT / "artifacts" / "infer"),
]
if USE_HAWKEARS:
cmd.append("--use-hawkears")
else:
cmd.append("--stub-runner")
subprocess.run(cmd, check=True)
Aggregate detections¶
[ ]:
AGG_OUT = DATASET_ROOT / "artifacts" / "aggregate" / "summary.csv"
AGG_OUT.parent.mkdir(parents=True, exist_ok=True)
subprocess.run(
[
"badc",
"infer",
"aggregate",
str(DATASET_ROOT / "artifacts" / "infer"),
"--output",
str(AGG_OUT),
],
check=True,
)
print("Aggregate CSV:", AGG_OUT)