code: def test_infer_noise(
      create_model: Callable[[RegressionData], GPModel]
  ) -> None:
      model = create_model(Datum.data)
      gpflow.optimizers.Scipy().minimize(
          training_loss_closure(model, Datum.data),
          variables=model.trainable_variables,
      )
  
      noise_scale = model.likelihood.scale
      np.testing.assert_allclose(
          Datum.noise_slope, noise_scale.A, atol=0.1
      )
      np.testing.assert_allclose(
          Datum.noise_offset, noise_scale.b, atol=0.1
      )
  
imports: from typing import Callable
  import numpy
  import pytest
  from check_shapes import ShapeChecker
  import gpflow
  from gpflow import default_float
  from gpflow.base import AnyNDArray, RegressionData
  from gpflow.functions import Linear
  from gpflow.kernels import Kernel
  from gpflow.likelihoods import Gaussian
  from gpflow.models import GPR, GPRFITC, SGPR, SVGP, VGP, GPModel, training_loss_closure
  from gpflow.models.util import InducingPointsLike
label_desc: Use image node_id 9 for calling a global function with example usage: test_infer_noise(create_model) without return types