code: def test_dict_utilities(model: SVGP) -> None:
      """
      Test both `parameter_dict()` and `read_values()`
      """
  
      class SubModule(tf.Module):
          def __init__(self) -> None:
              self.parameter = gpflow.Parameter(1.0)
              self.variable = tf.Variable(1.0)
  
      class Module(tf.Module):
          def __init__(self) -> None:
              self.submodule = SubModule()
              self.top_parameter = gpflow.Parameter(3.0)
  
      m = Module()
      params = gpflow.utilities.parameter_dict(m)
      # {
      #   ".submodule.parameter": <parameter object>,
      #   ".submodule.variable": <variable object>
      # }
      assert list(params.keys()) == [
          ".submodule.parameter",
          ".submodule.variable",
          ".top_parameter",
      ]
      assert list(params.values()) == [
          m.submodule.parameter,
          m.submodule.variable,
          m.top_parameter,
      ]
  
      for k, v in read_values(m).items():
          assert params[k].numpy() == v
  
file_path: GPflow/tests/gpflow/test_base_training.py
imports: from typing import Any, Mapping
  import numpy
  import pytest
  import tensorflow
  import gpflow
  from gpflow.models import SVGP
  from gpflow.utilities import leaf_components, multiple_assign, read_values
label_desc: Use image node_id 5 for calling a global function with example usage: test_dict_utilities(model) without return types