sarafhirsch / EM-CVAE-Graduate_Research

CVAE code extracted from Andy McAiliey modified for TEM data
1 stars 0 forks source link

Training is too slow #2

Open AndyMcAliley opened 2 months ago

AndyMcAliley commented 2 months ago

The slowest parts of training are probably computing data and data misfit gradients for every generated model, which is happening as you train. Unfortunately, computing data while training is the best way I know of to achieve low data misfits. Here are some thoughts about how to speed up training:

AndyMcAliley commented 2 months ago

One other approach is to train a neural network to be a surrogate forward modeler, and then use that neural network in place of the forward modeling algorithm (SimPEG in your case). The good aspect of this is that it's easier and faster to back-propagate gradients through the neural network than it is to obtain those gradients from SimPEG. The difficulty is that it's an extra step, and you need to be confident that the surrogate forward modeler is sufficiently accurate.