geoprior.params.LearnableKappa#

class geoprior.params.LearnableKappa(initial_value=1.0, name=None, log_transform=True, trainable=True, **kws)[source]#

Bases: BaseLearnable

Learnable scalar consistency factor (\(\bar{\kappa}\)).

In the revised consolidation prior, \(\bar{\kappa}\) relates the effective relaxation time \(\tau(x,y)\) to the Terzaghi-style diffusion time built from the effective fields \(K(x,y)\), \(S_s(x,y)\) and \(H(x,y)\). In the manuscript, it collects terms such as drainage-path ratios and leakage / anisotropy factors.

It enters a soft prior term of the form

(1)#\[\log \tau_{\mathrm{prior}}(x,y) \approx \log\left( \frac{\bar{\kappa} H(x,y)^2} {\pi^2 K(x,y) / S_s(x,y)} \right),\]

which is penalised against the learned \(\log \tau(x,y)\).

Positivity is enforced via a log-space parametrisation.

Parameters:
  • initial_value (float, default 1.0) – Initial guess for \(\bar{\kappa}\)

  • name (str, optional) – Variable name.

  • trainable (bool, default True) – Whether the parameter is trainable.

  • log_transform (bool)

__init__(initial_value=1.0, name=None, log_transform=True, trainable=True, **kws)[source]#
Parameters:

Methods

__init__([initial_value, name, ...])

from_config(config)

Re-instantiate from get_config().

get_config()

Return a JSON-serialisable dict for tf.keras.

get_value()

Return \(ar{\kappa} = \exp(\log(ar{\kappa}))\)

__init__(initial_value=1.0, name=None, log_transform=True, trainable=True, **kws)[source]#
Parameters:
get_value()[source]#

Return \(ar{\kappa} = \exp(\log(ar{\kappa}))\)

Return type:

Tensor | float