Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions configs/pretrain/Darcy-pretrain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ model:
modes2: [20, 20, 20, 20]
fc_dim: 128
act: gelu
pad_ratio: 0.0

train:
batchsize: 20
Expand Down
6 changes: 4 additions & 2 deletions train_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ def train_2d(args, config):
nx=data_config['nx'],
sub=data_config['sub'],
pde_sub=data_config['pde_sub'],
num=data_config['n_samples'],
num=data_config['n_sample'],
offset=data_config['offset'])
train_loader = DataLoader(dataset, batch_size=config['train']['batchsize'], shuffle=True)
model = FNO2d(modes1=config['model']['modes1'],
Expand Down Expand Up @@ -121,7 +121,9 @@ def train_2d(args, config):

# parse options
parser = ArgumentParser(description='Basic paser')
parser.add_argument('--config_path', type=str, help='Path to the configuration file')
parser.add_argument('--config_path', type=str,
default='configs/pretrain/Darcy-pretrain.yaml',
help='Path to the configuration file')
parser.add_argument('--log', action='store_true', help='Turn on the wandb')
args = parser.parse_args()

Expand Down
10 changes: 5 additions & 5 deletions train_utils/train_2d.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,18 +74,18 @@ def train_2d_operator(model,
if data_weight > 0:
pred = model(data_ic).squeeze(dim=-1)
pred = pred * mollifier
data_loss = myloss(pred, y)
data_loss = myloss(pred, u)

a = x[..., 0]
a = data_ic[..., 0]
f_loss = darcy_loss(pred, a)

loss = data_weight * data_loss + f_weight * f_loss
loss.backward()
optimizer.step()

loss_dict['train_loss'] += loss.item() * y.shape[0]
loss_dict['f_loss'] += f_loss.item() * y.shape[0]
loss_dict['data_loss'] += data_loss.item() * y.shape[0]
loss_dict['train_loss'] += loss.item() * u.shape[0]
loss_dict['f_loss'] += f_loss.item() * u.shape[0]
loss_dict['data_loss'] += data_loss.item() * u.shape[0]

scheduler.step()
train_loss_val = loss_dict['train_loss'] / len(train_loader.dataset)
Expand Down