Files
digital-drosophila/models/male-cns-lif/terminal-scope-diagnostic-v1/environment.py
T
2026-09-30 00:27:22 +08:00

23 lines
1.2 KiB
Python

"""Record executable/package/hardware versions without installing anything."""
import importlib.metadata
import platform
from pathlib import Path
import subprocess
import sys
MODEL = Path('/data/digital-drosophila/models/male-cns-lif/terminal-scope-diagnostic-v1')
EXP = Path('/data/digital-drosophila/experiments/phase4ab-terminal-scope')
sys.path.insert(0, str(MODEL))
import diagnostic
_, _, _, _, save, digest, _, _ = diagnostic.load_context()
packages = {}
for name in ('torch', 'numpy', 'pandas', 'pyarrow', 'scipy', 'PyYAML', 'ninja'):
try: packages[name] = importlib.metadata.version(name)
except importlib.metadata.PackageNotFoundError: packages[name] = None
gpu = subprocess.check_output(['nvidia-smi', '--query-gpu=index,name,uuid,driver_version,memory.total', '--format=csv,noheader'], text=True)
nvcc = subprocess.check_output(['/usr/local/cuda/bin/nvcc', '--version'], text=True)
save(EXP/'protocol/environment.json', {'python': sys.version, 'executable': sys.executable,
'platform': platform.platform(), 'packages': packages, 'GPU_inventory': gpu, 'nvcc': nvcc,
'installed_or_upgraded_packages': False, 'source_sha256': digest(Path(__file__))})
print(packages)