Test bed for equivariant posterior project.
Train and evaluate PyTorch models with reproducibility in mind.
- Computational environment reproducible through Nix flake.
- Python based configuration in terms of dataclasses.
- Convenient metric functionality with focus on saving as much as possible for future inspection.
- Simple TUI for easy progress inspection.
- Postgres storage with experimental Apache Superset couplings for easy visualization and run tracking.
This project uses Nix to manage development and runtime dependencies.
Binary cache from Cachix
We provide cached builds of dependencies for a CUDA enabled system through Cachix. See instructions at https://app.cachix.org/cache/equivariant-posteriors#pull.
It is probably also a good idea to enable the CUDA maintainers cache: https://app.cachix.org/cache/cuda-maintainers#pull
Install nix to your home-folder or system wide.
https://nixos.org/download.html#download-nix
Enable flakes by one of
- Nix in other distribution: Create (or add to)
~/.config/nix/nix.conf
(or/etc/nix/nix.conf
)experimental-features = nix-command flakes
- NixOS: Add to
/etc/nixos/configuration.nix
nix = { package = pkgs.nixFlakes; extraOptions = '' experimental-features = nix-command flakes ''; };
Start a development shell
nix develop
To build and run tests
nix build
Build a singularity image with CUDA support containing the project
nix build .#sing