Numerically Solving Parametric Families of High-Dimensional Kolmogorov Partial Differential Equations via Deep Learning
Accompanying code for NeurIPS 2020 paper (Poster). Deep Learning based algorithm for solving a parametrized family of high-dimensional Kolmogorov PDEs. Implemented in PyTorch and Tune.
To run the experiments and visualize the results open the jupyter notebook experiments.ipynb
.
For reproducibility we recommend to use the docker container defined by Dockerfile
(see Docker Tutorial).
- DGX-1 server
- Ubuntu 18.04.3, Python 3.6.9, Torch 1.5 (as given by the NVIDIA-Docker with base image
nvcr.io/nvidia/pytorch:20.03-py3
) - additional requirements as specified by
requirements.txt
Experiment (and reference in the paper) | Command (adapt --gpus if necessary) |
---|---|
Black-Scholes model (Table 1, Fig. 3,4,5,6,7,8) | python main.py --mode=avg_bs --gpus=2 |
Heat-equation with paraboloid initial condition (Table 3) | python main.py --mode=avg_heat_paraboloid --gpus=2 |
Heat-equation with Gaussian initial condition (Table 4) | python main.py --mode=avg_heat_gaussian --gpus=2 |
Basket put option (Table 2) | python main.py --mode=avg_basket --gpus=4 |
Cost vs. input dimension (Fig. 9) | python main.py --mode=dims_heat_paraboloid --gpus=2 |
Ablation study Black-Scholes model (Table 7) | python main.py --mode=compare_nets_bs --gpus=2 |
Ablation study heat-equation (Table 8) | python main.py --mode=compare_nets_heat --gpus=2 |
Hyperparameter search (Table 6) | python main.py --mode=optimize_bs --gpus=2 |
- Jupyter notebook: Open the notebook
experiments.ipynb
and run sectionAnalyze experiments
- Tensorboard: Run
tensorboard --logdir exp
ortensorboard --logdir exp/experiment_xyz