class_docstr: - Shared: we use the same kernel for each latent GP
  - Independent: Latents are uncorrelated a priori.
  
  .. warning::
     This class is created only for testing and comparison purposes.
     Use `gpflow.kernels` instead for more efficient code.
class_docstr_tok: ["-","Shared",":","we","use","the","same","kernel","for","each","latent","GP","-","Independent",":","Latents","are","uncorrelated","a","priori",".","..","warning",":",":","This","class","is","created","only","for","testing","and","comparison","purposes",".","Use","`","gpflow.kernels","`","instead","for","more","efficient","code","."]
code: def __init__(self, kernel: Kernel, output_dim: int) -> None:
      super().__init__()
      self.kernel = kernel
      self.output_dim = output_dim
  
imports: import abc
  from typing import Optional, Sequence, Tuple
  import tensorflow
  from check_shapes import check_shape
  from check_shapes import check_shapes, inherit_check_shapes
  from ...base import Parameter, TensorType
  from ..base import Combination, Kernel
label_desc: Use image node_id 1 to create a new SharedIndependent object from inherited base classes: MultioutputKernel with example: obj = SharedIndependent(kernel, output_dim)