code: def inference(self, observed_arr):
          '''
          Draws samples from the `fake` distribution.
  
          Args:
              observed_arr:     `np.ndarray` of observed data points.
          
          Returns:
              `np.ndarray` of inferenced.
          '''
          for i in range(len(self.__deconvolution_layer_list)):
              try:
                  observed_arr = self.__deconvolution_layer_list[i].forward_propagate(observed_arr)
              except:
                  self.__logger.debug("Error raised in Deconvolution layer " + str(i + 1))
                  raise
  
          return observed_arf inference(self, observed_arr):
          '''
          Draws samples from the `fake` distribution.
  
          Args:
              observed_arr:     `np.ndarray` of observed data points.
          
          Returns:
              `np.ndarray` of inferenced.
          '''
          for i in range(len(self.__deconvolution_layer_list)):
              try:
                  observed_arr = self.__deconvolution_layer_list[i].forward_propagate(observed_arr)
              except:
                  self.__logger.debug("Error raised in Deconvolution layer " + str(i + 1))
                  raise
  
          return observed_arr
docs: Draws samples from the `fake` distribution.
  
          Args:
              observed_arr:     `np.ndarray` of observed data points.
          
          Returns:
              `np.ndarray` of inferenced.