示例#1
0
        'poly_order': 2,
        'diff_order': 3
    }
}
n_runs = 5

for run_idx in np.arange(n_runs):
    X_train, y_train, rand_idx = dataset.create_dataset(x_grid.reshape(-1, 1),
                                                        t_grid.reshape(-1, 1),
                                                        n_samples=1000,
                                                        noise=0.1,
                                                        random=True,
                                                        return_idx=True)

    theta = dataset.library(x_grid.reshape(-1, 1),
                            t_grid.reshape(-1, 1),
                            poly_order=2,
                            deriv_order=3)[rand_idx, :]
    dt = dataset.time_deriv(x_grid.reshape(-1, 1),
                            t_grid.reshape(-1, 1))[rand_idx, :]

    model = DeepMod(**config)
    optimizer = torch.optim.Adam(model.parameters(),
                                 betas=(0.99, 0.999),
                                 amsgrad=True)
    train(model,
          X_train,
          y_train,
          optimizer,
          20000,
          loss_func_args={
              'library': torch.tensor(theta),
示例#2
0
import numpy as np
from phimal_utilities.data.burgers import BurgersDelta
from phimal_utilities.data.diffusion import DiffusionGaussian
from phimal_utilities.data import Dataset

x = np.linspace(-1, 1, 50)
t = np.linspace(1e-4, 5, 20)

x_grid, t_grid = np.meshgrid(x, t, indexing='ij')
v = 0.1
A = 1.0

dataset = Dataset(DiffusionGaussian, D=1.0, sigma=0.1, x0=-0.1)

dataset.library(x_grid.reshape(-1, 1), t_grid.reshape(-1, 1))