XinPeng76 commited on
Commit
5235d51
·
verified ·
1 Parent(s): c5e0d84

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +79 -0
README.md ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Flow_Perturbation
2
+ We introduce the flow perturbation method, which incorporates optimized stochastic perturbations into the flow. By reweighting trajectories generated by the perturbed flow, our method achieves
3
+ unbiased sampling of the Boltzmann distribution with orders of magnitude speedup compared to both brute force
4
+ Jacobian calculations and the Hutchinson estimator.
5
+
6
+ ![Flow Perturbation](./data/ODE_pf.png "Title")
7
+
8
+ Publication
9
+ -----------
10
+ Please find the arxiv preprint here:
11
+ [https://arxiv.org/abs/2002.06707](https://arxiv.org/abs/2407.10666)
12
+
13
+ Citation update is coming up...
14
+ ```
15
+ @article{peng2024flow,
16
+ title={Flow Perturbation to Accelerate Unbiased Sampling of Boltzmann distribution},
17
+ author={Peng, Xin and Gao, Ang},
18
+ journal={arXiv preprint arXiv:2407.10666},
19
+ year={2024}
20
+ }
21
+ ```
22
+ ***
23
+ # Dependencies
24
+ * Mandatory
25
+ * [pytorch>=2.0](https://github.com/pytorch/pytorch)
26
+ * [numpy](https://github.com/numpy/numpy)
27
+ * [bgmol](https://github.com/noegroup/bgmol) (for Chignolin)
28
+ * [bgflow](https://github.com/noegroup/bgmol) (for Chignolin)
29
+ * [mdtraj=1.9.9](https://github.com/mdtraj/mdtraj) (for Chignolin)
30
+
31
+ ## Training
32
+ * All hyper-parameters and training details are provided in config files (), and free feel to tune these parameters../configs/*.yml
33
+
34
+ ```bash
35
+ python train.py ./configs/GMM10D_default.yml ./models/GMM10D
36
+ python train.py ./configs/GMM1000D_default.yml ./models/GMM1000D
37
+ python train.py ./configs/CGN_default.yml ./models/CGN
38
+ ```
39
+
40
+ * The model checkpoints will be saved in the specified directory,e.g., ./models/GMM10D
41
+
42
+ ## Metropolis Monte Carlo (MC) simulations
43
+ * The Metropolis MC simulations are provided in the following files:
44
+
45
+ ```bash
46
+ python MC.py ./configs/CGN_default.yml ./models/CGN --method 0 --eps_type Rademacher
47
+ ```
48
+
49
+ * The first argument specifies the configuration file, while the second argument indicates the model directory. The `--method` option determines the approach for running the Monte Carlo (MC) simulations:
50
+ - `0`: Flow Perturbation (FP)
51
+ - `-1`: Jacobian-based method
52
+ - `-2`: Stochastic Normalizing Flow (SNF)
53
+ - `1-n`: Hutchinson trace estimator
54
+ - `--eps_type` parameter: Defines the type of perturbation to use, such as Rademacher, Gaussian, etc.
55
+
56
+ ## Sequential Monte Carlo (SMC)
57
+ * The Sequential Monte Carlo in the following files:
58
+ ```bash
59
+ python SMC.py ./configs/GMM10D_default.yml ./models/GMM10D --method 0 --eps_type Rademacher
60
+ python SMC.py ./configs/GMM1000D_default.yml ./models/GMM1000D --method 0 --eps_type Rademacher
61
+ python SMC.py ./configs/CGN_default.yml ./models/CGN --method 0 --eps_type Rademacher
62
+ ```
63
+ * The first argument specifies the configuration file, while the second argument indicates the model directory. The `--method` option determines the approach for running the Sequential Monte Carlo (SMC) simulations:
64
+ - `0`: Flow Perturbation (FP)
65
+ - `-1`: Jacobian-based method
66
+ - `-2`: Stochastic Normalizing Flow (SNF)
67
+ - `1-n`: Hutchinson trace estimator
68
+ - `--eps_type` parameter: Defines the type of perturbation to use, such as Rademacher, Gaussian, etc.
69
+
70
+
71
+ ## Model and Data
72
+ * The result datasets presented in the paper can be found in the `Result` folder of this repository.
73
+
74
+ * We provide all pre-trained model checkpoints as well as other result datasets from the paper. These resources are hosted on Hugging Face:
75
+ * [Model and Result Folder](https://huggingface.co/XinPeng76/Flow_Perturbation)
76
+
77
+
78
+ ## [License](#dependencies)
79
+ [MIT License](LICENSE)