Skip to content

Commit ea4028b

Browse files
Update names of normalization transforms (#402)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent a64a7cf commit ea4028b

1 file changed

Lines changed: 20 additions & 18 deletions

File tree

ml/train_model.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ def connect_to_db(config_dict):
9999
)[db_name]
100100

101101

102-
def normalize(df, input_names, input_transform, output_names, output_transform):
102+
def normalize(df, input_names, input_normalization, output_names, output_normalization):
103103
# Apply normalization to the training data set
104104
norm_df = df.copy()
105-
norm_df[input_names] = input_transform(torch.tensor(df[input_names].values))
106-
norm_df[output_names] = output_transform(torch.tensor(df[output_names].values))
105+
norm_df[input_names] = input_normalization(torch.tensor(df[input_names].values))
106+
norm_df[output_names] = output_normalization(torch.tensor(df[output_names].values))
107107
return norm_df
108108

109109

@@ -130,15 +130,17 @@ def split_data(df_exp, df_sim, variables, model_type):
130130
return (sim_train_df[variables], sim_val_df[variables])
131131

132132

133-
def build_transforms(n_inputs, X_train, n_outputs, y_train):
134-
input_transform = AffineInputTransform(
133+
def build_normalizations(n_inputs, X_train, n_outputs, y_train):
134+
input_normalization = AffineInputTransform(
135135
n_inputs, coefficient=X_train.std(axis=0), offset=X_train.mean(axis=0)
136136
)
137137
# For output normalization, we need to handle potential NaN values
138138
y_mean = torch.nanmean(y_train, dim=0)
139139
y_std = torch.sqrt(torch.nanmean((y_train - y_mean) ** 2, dim=0))
140-
output_transform = AffineInputTransform(n_outputs, coefficient=y_std, offset=y_mean)
141-
return input_transform, output_transform
140+
output_normalization = AffineInputTransform(
141+
n_outputs, coefficient=y_std, offset=y_mean
142+
)
143+
return input_normalization, output_normalization
142144

143145

144146
def train_nn_ensemble(
@@ -218,8 +220,8 @@ def build_lume_model(
218220
model_type,
219221
input_variables,
220222
output_variables,
221-
input_transform,
222-
output_transform,
223+
input_normalization,
224+
output_normalization,
223225
):
224226
# Fix mismatch in name between the config file and the expected lume-model format
225227
for k in input_variables:
@@ -245,8 +247,8 @@ def build_lume_model(
245247
model=model.cpu(),
246248
input_variables=input_vars,
247249
output_variables=distribution_output_vars,
248-
input_transformers=[input_transform],
249-
output_transformers=[output_transform],
250+
input_transformers=[input_normalization],
251+
output_transformers=[output_normalization],
250252
)
251253
else:
252254
# model is an ensemble list of NNs
@@ -265,10 +267,10 @@ def build_lume_model(
265267
model=model_nn.cpu(),
266268
input_variables=input_vars,
267269
output_variables=output_vars,
268-
input_transformers=[input_transform],
270+
input_transformers=[input_normalization],
269271
output_transformers=[
270272
calibration_transform,
271-
output_transform,
273+
output_normalization,
272274
], # saving calibration before normalization
273275
)
274276
)
@@ -448,15 +450,15 @@ def register_model_to_mlflow(model, model_type, experiment, config_dict):
448450
# Apply normalization to the training data
449451
X_train = torch.tensor(df_train[input_names].values, dtype=torch.float)
450452
y_train = torch.tensor(df_train[output_names].values, dtype=torch.float)
451-
input_transform, output_transform = build_transforms(
453+
input_normalization, output_normalization = build_normalizations(
452454
len(input_names), X_train, len(output_names), y_train
453455
)
454456
norm_df_train = normalize(
455-
df_train, input_names, input_transform, output_names, output_transform
457+
df_train, input_names, input_normalization, output_names, output_normalization
456458
)
457459
if model_type != "GP":
458460
norm_df_val = normalize(
459-
df_val, input_names, input_transform, output_names, output_transform
461+
df_val, input_names, input_normalization, output_names, output_normalization
460462
)
461463

462464
print("training started")
@@ -500,8 +502,8 @@ def register_model_to_mlflow(model, model_type, experiment, config_dict):
500502
model_type,
501503
input_variables,
502504
output_variables,
503-
input_transform,
504-
output_transform,
505+
input_normalization,
506+
output_normalization,
505507
)
506508

507509
if test_mode:

0 commit comments

Comments
 (0)