code: def test_gpr_objective_equivalence() -> None:
      """
      In Maximum Likelihood Estimation (MLE), i.e. when there are no priors on
      the parameters, the objective should not depend on any transforms on the
      parameters.
      We use GPR as a simple model that has an objective.
      """
      data = (Datum.X, Datum.Y)
      l_value = Datum.lengthscale
  
      l_variable = tf.Variable(
          l_value, dtype=gpflow.default_float(), trainable=True
      )
      m1 = gpflow.models.GPR(
          data,
          kernel=gpflow.kernels.SquaredExponential(
              lengthscales=l_value
          ),
      )
      m2 = gpflow.models.GPR(
          data, kernel=gpflow.kernels.SquaredExponential()
      )
      m2.kernel.lengthscales = gpflow.Parameter(
          l_variable, transform=None
      )
      assert np.allclose(
          m1.kernel.lengthscales.numpy(), m2.kernel.lengthscales.numpy()
      )  # consistency check
  
      assert np.allclose(
          m1.log_marginal_likelihood().numpy(),
          m2.log_marginal_likelihood().numpy(),
      ), "MLE objective should not depend on Parameter transform"
  
imports: from typing import Any, Tuple, Type
  import numpy
  import pytest
  import tensorflow
  import tensorflow_probability
  from tensorflow_probability.python.bijectors import Exp
  from tensorflow_probability.python.distributions import Uniform
  import gpflow
  from gpflow.base import AnyNDArray, PriorOn
  from gpflow.config import set_default_float
  from gpflow.utilities import to_default_float
label_desc: Use image node_id 1 for calling a global function with example usage: test_gpr_objective_equivalence() without return types