code: def reward(self, net_val_list, reward_config):
      rewards = self.val2reward(net_val_list, reward_config.get("func"))
      rewards = np.array(rewards)
      # baseline function
      decay = reward_config["decay"]
      if "exp_moving_avg" not in self.__dict__:
          self.exp_moving_avg = 0
          for old_net_val_list in self.net_val_wrt_episode[:-1]:
              old_rewards = self.val2reward(
                  old_net_val_list, reward_config.get("func")
              )
              self.exp_moving_avg += decay * (
                  np.mean(old_rewards) - self.exp_moving_avg
              )
      self.exp_moving_avg += decay * (
          np.mean(rewards) - self.exp_moving_avg
      )
      return rewards - self.exp_moving_avg
  
imports: import os
  import subprocess
  import json
  import pickle
  import numpy
  from ..data_providers.utils import get_data_provider_by_name
  from .expdir_monitor import ExpdirMonitor
  from ..expdir_monitor import distributed
label_desc: Use image node_id 10 for calling the ArchManager obj's underlying member method code with example usage: obj.reward(net_val_list, reward_config) and returns: unknown