code: def smape(y_label, y_predict):
      """
      Calculate Symmetric mean absolute percentage error (sMAPE).
  
      .. math::
  
          \\text{sMAPE} = \\frac{100\%}{n} \\sum_{t=1}^n \\frac{|y_t-\\hat{y_t}|}{|y_t|+|\\hat{y_t}|}
  
      :param y_label: Array-like of shape = (n_samples, \*).
             Ground truth (correct) target values.
      :param y_predict: Array-like of shape = (n_samples, \*).
             Estimated target values.
      :return: Ndarray of floats.
               An array of non-negative floating point values (the best value is 0.0).
      """
      abs_diff = np.abs(y_predict - y_label)
      abs_per_error = abs_diff / (
          np.abs(y_predict) + np.abs(y_label) + EPSILON
      )
      sum_abs_per_error = np.mean(abs_per_error)
      return sum_abs_per_error * 100
  
file_path: BigDL/python/chronos/src/bigdl/chronos/metric/forecast_metrics.py
imports: from numpy import ndarray
  import numpy
  from bigdl.nano.utils.common import invalidInputError
  from timeit import repeat
  import random
label_desc: Use image node_id 5 for calling a global function with example usage: smape(y_label, y_predict) and returns: unknown