Compatibility
- Python: 3.10+ (due to reliance on type annotations)
- PyTorch: 1.7.0–2.5.0 (other versions have not been tested.)
- CUDA: 11.2–12.1 (also supports MPS on macOS; see Performance note below)
- Operating Systems: Ubuntu 20.04+, macOS. Windows is untested but may work—please file an issue if you hit a problem.
Performance note:
On non‑CUDA backends (e.g., MPS), runtime overhead can vary due to differences in tensor‑hashing efficiency. We’re actively measuring and tuning across platforms.
Installation Steps
Note: Example workloads are verified on Python 3.10 and PyTorch 2.2.2 + CUDA 12.1. If you’re not reproducing our benchmarks, feel free to install any supported versions.
AEC note: For full artifact evaluation, we recommend Ubuntu 22.04 with two Nvidia Ampere‑class GPUs (≥ 12 GiB GPU memory each). For the 5‑minute tutorial, any Linux or macOS (Apple Silicon) laptop will do.
-
Install Conda
Install Miniconda by following the official Miniconda guide. -
Create & activate a Python 3.10 Conda Env
bash conda create -n traincheck python=3.10 -y conda activate traincheck -
Install PyTorch 2.2.2 with CUDA support
bash pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu121If your GPU does not support CUDA12, CUDA11.8 is also acceptable.
bash pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu118If you don't have a CUDA-enabled GPU, just install the CPU version and skip step 4.
bash pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cpu -
(CUDA platforms only) Install cudatoolkit
bash conda install cudatoolkit -
Clone & install TrainCheck
bash git clone https://github.com/OrderLab/TrainCheck.git cd TrainCheck pip3 install . -
Verify Installation You should now have three clis installed in your system. Do a quick test to see of these commands are available and functional.
bash traincheck-collect --help traincheck-infer --help traincheck-check --help
Next Steps
-
5‑Minute TrainCheck Experience
Follow the 5‑Minute Tutorial to instrument a script, infer invariants, and catch silent bugs in under five minutes. -
Technical Documentation
Explore the TrainCheck Technical Doc for a comprehensive guide to features, configuration, and advanced workflows.