You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+19-8Lines changed: 19 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,21 @@ A novel variational approach to transition path sampling (TPS) based on the Doob
29
29
<i>Running the deterministic and stochastic simulations using our algorithm for 2D potential.</i>
30
30
</p>
31
31
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
33
47
34
48
You can use the `environment.yml` file to setup this project. However, it only works on CPU.
35
49
```bash
@@ -44,12 +58,9 @@ pixi install --frozen
44
58
45
59
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.
46
60
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
51
62
52
-
## Running the baselines
63
+
## Baselines
53
64
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
54
65
55
66
```bash
@@ -71,7 +82,7 @@ for ALDP respectively.
71
82
72
83
**Note:** In both cases, you might want to change the paths that you want to generate and evaluate in the baseline or evaluation scripts.
73
84
74
-
## Run our method
85
+
## Our Method
75
86
To sample trajectories with our method, we provide ready to go config files in `configs/`. You can run them with
0 commit comments