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
* beginning migration of hippyflow
* updating collectives, migrating away from the open PR brach of hippylib for collectives, moved those files here so now I am using hippylib master, adding generalized EVP for the active subspace
* working on updating active subspace and kle
* updating active subspace and driver
* updating
* updating readme and data generators
* adding ice and confusion models
* updating slightly for ccgo machines
* missing hdf5s
* adding confusion neural network training driver
* updating ice problem setup, parallel runs are no go for larger 3d meshes I guess
* updating
* updating helmholtz is crashing my computer
* updated some things want to check in
* this is the setup I used that gets 3% margin of victory
* updating gitignore
* updating gitignore
* updating the repo
* removing ice_flow for now
* adding notebook for plotting eigenvectors
* updating the repo
* updating
* updating
* udapting
* readme rendering
* readme rendering
* readme rendering
* updating install markdown
* adding before removing
* updating with licences
* updating header for copyright
* updating copyright
* adding version
* wrong version in version
* updating hippylib files
* adding some doc strings
* adding more docstrings
* updating
* adding helmholtz neural network training
* updating for the night
* updatings
* updating markdown files
* install readme
* install readme
* install readme
* install readme
*`pip install pympler` pympler is used to check memory usage during subspace creation
37
+
38
+
Assumes that the environmental variables `HIPPYLIB_PATH` and `HIPPYFLOW_PATH` have been set.
39
+
40
+
*`export HIPPYLIB_PATH=path/to/hippylib`
41
+
*`export HIPPYFLOW_PATH=path/to/hippyflow`
42
+
43
+
44
+
45
+
Neural network training is handled by `keras` / second order methods in hessianlearn
46
+
47
+
When using second order optimizers, the code assumes that the environmental variable `HESSIANLEARN_PATH` has been set to the path to [`hessianlearn`](https://github.com/tomoleary/hessianlearn).
48
+
49
+
*`export HESSIANLEARN_PATH=path/to/hessianlearn`
50
+
51
+
In some cases (such as on Unix clusters) the dependencies for `hIPPYlib` and `tensorflow` clash. In this case different conda environments may be needed for the data generation phase and the neural network training phase. These two phases can be easily de-coupled in this case.
52
+
53
+
On Mac, there has been no issue creating a singular conda environment to handle all dependencies.
* This code is used to construct dimension reduced neural network surrogeates for parametric mappings governed by PDEs
31
+
32
+
*[`hIPPYlib`](https://github.com/hippylib/hippylib) is used for the data generation and construction of model based projectors
33
+
34
+
*`Tensorflow` and `keras` are used for the construction of neural network surrogates
35
+
36
+
*[`hessianlearn`](https://github.com/tomoleary/hessianlearn) is used for second order optimization of keras neural network models.
37
+
38
+
39
+
## Model Based Projectors:
40
+
41
+
*`hIPPYflow` implements software infrastructure for input and output dimension reduction strategies for parametric mappings governed by PDEs. Given a parametric PDE Variational Problem implemented in `hIPPYlib` (using `FEniCS` for finite element representation), and a PDE observable, this code automates the construction of dominant subspaces of the input and output for these mappings. `hIPPYflow` implements both active subspace (AS) and Karhunen Loeve expansion (KLE) for input dimension reduction. `hIPPYflow` implements proper orthogonal decomposition (POD) for output dimension reduction.
42
+
43
+
* These constructs also implement the generation of training data to be used in surrogate construction, as well as projection error tests that exemplify how good the different model projectors are at capturing key information, and help to detect the "intrinsic dimensionality" of the mappings from inputs to outputs.
44
+
45
+
## Dimension Reduced Neural Network Strategies
46
+
47
+
* Given information about dominant subspaces of the input and output spaces for the parametric mappings, `hIPPYflow` implements dimension reduced neural network surrogates. These surrogates allow for parsimonious representations of input-output mappings that can achieve good accuracy for very few training data. Few data is a key feature of many high dimensional PDE based inference problems.
48
+
49
+
* Neural network models are implemented in `keras`. Training can be handled directly by `keras`, or using second order optimizers implemented in `hessianlearn`.
0 commit comments