VIFY
The vify repository is designed for the determination of the virdx score based on previous pipeline steps. It includes tools for training, evaluation, and prediction.
Table of Contents
Setup
Environment
- Default Environment: Run
pixi installto install the default environment, which is primarily used for inference in the product. - Development Environment: Run
pixi install -e devto install the development environment. This includes additional packages useful for development, such as themirpPyPI package, which is kept separate from other dependencies as it is not available on conda-forge.
Directory Structure
src: Main source code for the project.notebooks: Jupyter notebooks, organized into subdirectories for each contributor.scripts: Executable Python scripts for training, evaluation, and prediction.tests: Unit tests for the codebase.docs: Documentation files.
Relevant Scripts
- Training: Use
scripts/train.pyfor training. The configuration file is located atconfig/train_config.yaml. - Evaluation: Use
scripts/evaluate.pyfor fast evaluation. The configuration file is located atconfig/eval_config.yaml. - Prediction: Use
scripts/predict_with_studies_config.pyfor predictions using studies. The configuration file is located atconfig/predict_with_studies_config.yaml.
Recommended Workflow
- Train your model using
scripts/train.py. - Copy the model path and update it in
config/eval_config.yaml. - Perform evaluation using
scripts/evaluate.py. Results will be stored in an evaluation folder.
Testing and Linting
- Linting: Use
rufffor linting - Testing:
pytest. Coverage reports are generated using--cov=src.
Configuration Files
pyproject.toml
- Build System: Uses
hatchlingas the build backend. - Linting: Configured with
rufffor linting andmypyfor type checking. - Testing: Coverage is configured to include the
srcdirectory. - Environment Management: Uses
pixifor managing environments and dependencies.
.gitignore
- Excludes common Python artifacts, temporary files, and environment-specific directories such as
.venv,.mypy_cache, and.pytest_cache.
This documentation provides an overview of the vify codebase, its structure, and its workflows. For more details, refer to the individual configuration files and scripts in the repository.