sup3r.utilities.loss_metrics.GeothermalObsLoss#

class GeothermalObsLoss(gen_features='all', true_features=None)[source]#

Bases: Sup3rLoss

Masked loss for geothermal observed quantities

This loss performs the masked observation matching described in [1]. It compares predicted geothermal channels against observed targets while ignoring missing observations. Units are inherited from the paired features, such as temperature in C, thermal conductivity in W/m-K, and heat flow in mW/m^2.

References

Initialize the loss with given input features

Parameters:
  • gen_features (list | str) – List of generator output features that the loss metric will be calculated on. If ‘all’, the loss will be calculated on all generator features. Otherwise, the loss will be calculated on the features specified in the list. The order of features in the list will be checked to determine the order of features in the generator output tensor.

  • true_features (list | str) – List of true features that the loss metric will be calculated on. If None, this will be the same as gen_features. The order of features in the list will be checked to determine the order of features in the ground truth tensor.

Methods

call(y_true, y_pred)

Invokes the Loss instance.

from_config(config)

Instantiates a Loss from its config (output of get_config()).

get_config()

Returns the config dictionary for a Loss instance.

Attributes

LOSS_METRIC

__call__(x_true, x_gen)[source]#

Evaluate the masked geothermal observation loss

The feature dimensions of x_true and x_gen must align with the configured generated and true features. Observed values may contain NaNs, which are ignored when computing the loss.

abstract call(y_true, y_pred)#

Invokes the Loss instance.

Args:
y_true: Ground truth values. shape = [batch_size, d0, .. dN],

except sparse loss functions such as sparse categorical crossentropy where shape = [batch_size, d0, .. dN-1]

y_pred: The predicted values. shape = [batch_size, d0, .. dN]

Returns:

Loss values with the shape [batch_size, d0, .. dN-1].

classmethod from_config(config)#

Instantiates a Loss from its config (output of get_config()).

Args:

config: Output of get_config().

Returns:

A Loss instance.

get_config()#

Returns the config dictionary for a Loss instance.