Video-ORA-4B / code /tests /test_environment_spec.py
lyhisme's picture
Add 4B model card, benchmark assets, and release code
0185029 verified
Raw
History Blame Contribute Delete
2.58 kB
from __future__ import annotations
from pathlib import Path
import yaml
RELEASE_ROOT = Path(__file__).resolve().parents[1]
def test_h20_environment_uses_the_pinned_cuda_stack() -> None:
environment = yaml.safe_load((RELEASE_ROOT / "environment.yml").read_text(encoding="utf-8"))
dependencies = set(environment["dependencies"])
assert environment["name"] == "orarl"
assert "python=3.11" in dependencies
assert "cuda-toolkit=12.9" in dependencies
assert "ffmpeg=7" in dependencies
assert "conda-forge" in environment["channels"]
installer = (RELEASE_ROOT / "scripts" / "create_conda_env.sh").read_text(encoding="utf-8")
assert "https://download.pytorch.org/whl/cu129" in installer
assert "torch==2.10.0+cu129" in installer
assert "vllm==0.19.1" in installer
assert "flash-attn==2.8.3" in installer
assert "install_conda_runtime_hook.sh" in installer
assert "--evaluation-only" in installer
# A single checkout installs the trainer; no external runtime root remains.
assert "--runtime-root" not in installer
assert "ORARL_RUNTIME_ROOT" not in installer
validator = (RELEASE_ROOT / "scripts" / "check_environment.py").read_text(
encoding="utf-8"
)
assert '"verl.trainer.main"' in validator
assert "--evaluation-only" in validator
runtime_hook = (
RELEASE_ROOT / "scripts" / "install_conda_runtime_hook.sh"
).read_text(encoding="utf-8")
assert "activate.d/orarl-runtime.sh" in runtime_hook
assert 'Path(sysconfig.get_path("purelib")) / "nvidia"' in runtime_hook
def test_runtime_requirements_match_the_released_qwen35_stack() -> None:
requirements = {
line
for line in (RELEASE_ROOT / "requirements-cu129.txt")
.read_text(encoding="utf-8")
.splitlines()
if line and not line.startswith("#")
}
assert "transformers==5.5.4" in requirements
assert "qwen-vl-utils[decord]==0.0.14" in requirements
assert "torchcodec==0.10.0" in requirements
assert "ray[default]==2.54.0" in requirements
assert "flash-linear-attention==0.4.2" in requirements
evaluator = (
RELEASE_ROOT / "eval" / "task" / "temporal_grounding" / "eval_timelens_hf.py"
).read_text(encoding="utf-8")
assert 'setdefault("FORCE_QWENVL_VIDEO_READER", "decord")' in evaluator
segmentation_evaluator = (
RELEASE_ROOT / "eval" / "task" / "segmentation" / "eval_seg_vllm.py"
).read_text(encoding="utf-8")
assert 'setdefault("FORCE_QWENVL_VIDEO_READER", "decord")' in segmentation_evaluator