I am using Modulus to solve a PDE equation. And I want to use importance_measure
to sample more points in the area where the constraint violation is larger.
As the notes in the description of fixed_dataset
, if I set fixed_dataset = True
, the points are fixed and will not be resampled in the train process.
How ever, I want to resample the points, so I should set fixed_dataset
to False
?
But Modulus will give an error:
Using Importance measure with continuous dataset is not supported
Did I misunderstand something?
Hi @Zhao-ZC
You’re correct in your understanding of fixed_dataset
. The importance sampling works by weighting the points in a fixed dataset, so ones of more importance are sampled more frequently. I.e. in the API doc
importance_measure : Union[Callable, None] = None
A callable function that computes a scalar importance measure.
This importance measure is then used in the constraint when sampling points.
This means we are resampling the existing points already from the geometry (yeah its a bit confusing with having different processes sampling different things). If you’re interested the code for this process lives in DictImportanceSampledPointwiseIterableDataset
which consumes two dictionaries of finite size (your points sampled from the geometry). This is the dataset that is created in the constraint when you use importance sampling.