class_docstr: Normal distribution with tensorflow-probability back-end.
  
  Parameters
  ----------
  mean : float or array of float (1D or 2D)
      mean of the normal distribution
  sd : float or array of float (1D or 2D), must be positive
      standard deviation of the normal distribution
  index : pd.Index, optional, default = RangeIndex
  columns : pd.Index, optional, default = RangeIndex
  
  Example
  -------
  >>> from sktime.proba.tfp import TFNormal  # doctest: +SKIP
  
  >>> n = TFNormal(mu=[[0, 1], [2, 3], [4, 5]], sigma=1)  # doctest: +SKIP
class_docstr_tok: ["Normal","distribution","with","tensorflow-probability","back-end",".","Parameters","--","--","--","--","--","mean",":","float","or","array","of","float","(","1D","or","2D",")","mean","of","the","normal","distribution","sd",":","float","or","array","of","float","(","1D","or","2D",")",",","must","be","positive","standard","deviation","of","the","normal","distribution","index",":","pd.Index",",","optional",",","default","=","RangeIndex","columns",":","pd.Index",",","optional",",","default","=","RangeIndex","Example","--","--","--","-",">",">",">","from","sktime.proba.tfp","import","TFNormal","#","doctest",":","+SKIP",">",">",">","n","=","TFNormal","(","mu=","[","[","0",",","1","]",",","[","2",",","3","]",",","[","4",",","5","]","]",",","sigma=1",")","#","doctest",":","+SKIP"]
code: def __init__(self, mu, sigma, index=None, columns=None):
      self.mu = mu
      self.sigma = sigma
      self.index = index
      self.columns = columns
  
      _check_estimator_deps(self)
  
      import tensorflow_probability as tfp
  
      tfd = tfp.distributions
  
      # todo: untangle index handling
      # and broadcast of parameters.
      # move this functionality to the base class
      # 0.19.0?
      self._mu, self._sigma = self._get_bc_params(
          self.mu, self.sigma, dtype="float"
      )
      distr = tfd.Normal(loc=self._mu, scale=self._sigma)
      shape = self._mu.shape
  
      if index is None:
          index = pd.RangeIndex(shape[0])
  
      if columns is None:
          columns = pd.RangeIndex(shape[1])
  
      super().__init__(index=index, columns=columns, distr=distr)
  
file_path: sktime/sktime/proba/tfp.py
imports: import numpy
  import pandas
  from sktime.proba.base import _BaseTFDistribution
  from sktime.utils.validation._dependencies import _check_estimator_deps
label_desc: Use image node_id 1 to create a new TFNormal object from inherited base classes: _BaseTFDistribution with example: obj = TFNormal(mu, sigma, index, columns)