class_docstr: Computes the RL Reliability Metrics.
code: def _compute(
      self,
      timesteps,
      rewards,
      baseline="default",
      freq_thresh=0.01,
      window_size=100000,
      window_size_trimmed=99000,
      alpha=0.05,
      eval_points=None,
  ):
      if len(timesteps) < N_RUNS_RECOMMENDED:
          logger.warning(
              f"For robust statistics it is recommended to use at least {N_RUNS_RECOMMENDED} runs whereas you provided {len(timesteps)}."
          )
  
      curves = []
      for timestep, reward in zip(timesteps, rewards):
          curves.append(np.stack([timestep, reward]))
  
      if self.config_name == "online":
          if baseline == "default":
              baseline = "curve_range"
          if eval_points is None:
              eval_points = DEFAULT_EVAL_POINTS
  
          metrics = [
              metrics_online.HighFreqEnergyWithinRuns(
                  thresh=freq_thresh
              ),
              metrics_online.IqrWithinRuns(
                  window_size=window_size_trimmed,
                  eval_points=eval_points,
                  baseline=baseline,
              ),
              metrics_online.IqrAcrossRuns(
                  lowpass_thresh=freq_thresh,
                  eval_points=eval_points,
                  window_size=window_size,
                  baseline=baseline,
              ),
              metrics_online.LowerCVaROnDiffs(baseline=baseline),
              metrics_online.LowerCVaROnDrawdown(baseline=baseline),
              metrics_online.LowerCVaROnAcross(
                  lowpass_thresh=freq_thresh,
                  eval_points=eval_points,
                  window_size=window_size,
                  baseline=baseline,
              ),
              metrics_online.LowerCVaROnRaw(
                  alpha=alpha, baseline=baseline
              ),
              metrics_online.MadAcrossRuns(
                  lowpass_thresh=freq_thresh,
                  eval_points=eval_points,
                  window_size=window_size,
                  baseline=baseline,
              ),
              metrics_online.MadWithinRuns(
                  eval_points=eval_points,
                  window_size=window_size_trimmed,
                  baseline=baseline,
              ),
              metrics_online.MaxDrawdown(),
              metrics_online.StddevAcrossRuns(
                  lowpass_thresh=freq_thresh,
                  eval_points=eval_points,
                  window_size=window_size,
                  baseline=baseline,
              ),
              metrics_online.StddevWithinRuns(
                  eval_points=eval_points,
                  window_size=window_size_trimmed,
                  baseline=baseline,
              ),
              metrics_online.UpperCVaROnAcross(
                  alpha=alpha,
                  lowpass_thresh=freq_thresh,
                  eval_points=eval_points,
                  window_size=window_size,
                  baseline=baseline,
              ),
              metrics_online.UpperCVaROnDiffs(
                  alpha=alpha, baseline=baseline
              ),
              metrics_online.UpperCVaROnDrawdown(
                  alpha=alpha, baseline=baseline
              ),
              metrics_online.UpperCVaROnRaw(
                  alpha=alpha, baseline=baseline
              ),
              metrics_online.MedianPerfDuringTraining(
                  window_size=window_size, eval_points=eval_points
              ),
          ]
      else:
          if baseline == "default":
              baseline = "median_perf"
  
          metrics = [
              metrics_offline.MadAcrossRollouts(baseline=baseline),
              metrics_offline.IqrAcrossRollouts(baseline=baseline),
              metrics_offline.StddevAcrossRollouts(baseline=baseline),
              metrics_offline.LowerCVaRAcrossRollouts(
                  alpha=alpha, baseline=baseline
              ),
              metrics_offline.UpperCVaRAcrossRollouts(
                  alpha=alpha, baseline=baseline
              ),
              metrics_offline.MedianPerfAcrossRollouts(baseline=None),
          ]
  
      evaluator = eval_metrics.Evaluator(metrics=metrics)
      result = evaluator.compute_metrics(curves)
      return result
  
file_path: evaluate/metrics/rl_reliability/rl_reliability.py
imports: import datasets
  import numpy
  from rl_reliability_metrics.evaluation import eval_metrics
  from rl_reliability_metrics.metrics import metrics_offline, metrics_online
  import evaluate
label_desc: Use image node_id 2 for calling the RLReliability obj's underlying member method code with example usage: obj._compute(timesteps, rewards, baseline, freq_thresh, window_size, window_size_trimmed, alpha, eval_points) and returns: result