Skip to content

Commit 02fd6e2

Browse files
authored
Update README.md and add FAQ
1 parent b383699 commit 02fd6e2

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,21 @@ A novel variational approach to transition path sampling (TPS) based on the Doob
2929
<i>Running the deterministic and stochastic simulations using our algorithm for 2D potential.</i>
3030
</p>
3131

32-
## Setup
32+
# FAQ
33+
## I am getting NaN values when running experiments on alanine dipeptide!
34+
This is an issue on certain devices, and, so far, we haven't figured out the underlying reason. However, we have found out that:
35+
36+
1. Changing your floats to 64-bit precision prevents this problem from happening (at least on our machines), albeit at ~2x slower performance. To change to float64, simply search for all instances of `jnp.float32` (as can be seen [here](https://github.com/search?q=repo%3Aplainerman%2FVariational-Doob%20jnp.float32&type=code)) and change it to `jnp.float64`.
37+
38+
2. First-order systems usually do not exhibit this behavior. So you can also change your `ode` in the config (e.g., [here](https://github.com/plainerman/Variational-Doob/blob/b3836998080569af5deaaa5bd1ef6ad0993e0bd9/configs/aldp_diagonal_single_gaussian.yaml#L7)) to `first_order` and see if this resolves the issue. In our tests, first-order ODE was sufficient for most setups.
39+
40+
# Getting started
41+
42+
The best way to understand our method is to look at [the google colab notebook](https://colab.research.google.com/drive/1FcmEbec06cH4yk0t8vOIt8r1Gm-VjQZ0?usp=sharing) which contains the necessary code for 2D potentials in one place.
43+
However, this notebook is very limited in scope and only contains the most basic examples. In the following, we will show the interfaces to run more complex examples. You can also look at the setups in the `configs/` folder.
44+
45+
46+
# Setup
3347

3448
You can use the `environment.yml` file to setup this project. However, it only works on CPU.
3549
```bash
@@ -44,12 +58,9 @@ pixi install --frozen
4458

4559
to install the dependencies and setup a virtual environment. Either activate the environment with `pixi shell` or use the provided `pixi run` command to run the scripts.
4660

47-
## Getting started
48-
49-
The best way to understand our method is to look at [the google colab notebook](https://colab.research.google.com/drive/1FcmEbec06cH4yk0t8vOIt8r1Gm-VjQZ0?usp=sharing) which contains the necessary code for 2D potentials in one place.
50-
However, this notebook is very limited in scope and only contains the most basic examples. In the following, we will show the interfaces to run more complex examples. You can also look at the setups in the `configs/` folder.
61+
# Running the code
5162

52-
## Running the baselines
63+
## Baselines
5364
You can either use the TPS shooting baselines [provided by us](https://github.com/plainerman/variational-doob/releases/tag/camera-ready), or re-create them by running
5465

5566
```bash
@@ -71,7 +82,7 @@ for ALDP respectively.
7182

7283
**Note:** In both cases, you might want to change the paths that you want to generate and evaluate in the baseline or evaluation scripts.
7384

74-
## Run our method
85+
## Our Method
7586
To sample trajectories with our method, we provide ready to go config files in `configs/`. You can run them with
7687

7788
```bash
@@ -88,7 +99,7 @@ python main.py --config configs/aldp_diagonal_single_gaussian.yaml
8899

89100
for real molecular systems.
90101

91-
## Citation
102+
# Citation
92103
If you find our work useful, please consider citing our paper:
93104

94105
```bibtex

0 commit comments

Comments
 (0)