code: def _create_network(self):
      self.Ws, self.bs = [], []
  
      for dim_in, dim_out in zip(self.dims[:-1], self.dims[1:]):
          init_xavier_std = (2.0 / (dim_in + dim_out)) ** 0.5
          self.Ws.append(
              Parameter(
                  np.random.randn(dim_in, dim_out) * init_xavier_std
              )
          )
          self.bs.append(Parameter(np.zeros(dim_out)))
  
file_path: GPflow/doc/sphinx/notebooks/tailor/mixture_density_network.pct.py
imports: import matplotlib.pyplot
  import numpy
  from typing import Callable, Optional, Tuple
  import tensorflow
  from gpflow.base import Parameter
  from gpflow.models import BayesianModel, ExternalDataTrainingLossMixin
  from gpflow.utilities import print_summary
  from gpflow.ci_utils import reduce_in_tests
  from gpflow.optimizers import Scipy
  from sklearn.datasets import make_moons
label_desc: Use image node_id 2 for calling the MDN obj's underlying member method code with example usage: obj._create_network() without return types