code: def run(self):
      # enc_obs = np.split(self.obs, self.nstack, axis=3)  # so now list of obs steps
      enc_obs = np.split(self.env.stackedobs, self.env.nstack, axis=-1)
      mb_obs, mb_actions, mb_mus, mb_dones, mb_rewards = (
          [],
          [],
          [],
          [],
          [],
      )
      for _ in range(self.nsteps):
          actions, mus, states = self.model._step(
              self.obs, S=self.states, M=self.dones
          )
          mb_obs.append(np.copy(self.obs))
          mb_actions.append(actions)
          mb_mus.append(mus)
          mb_dones.append(self.dones)
          obs, rewards, dones, _ = self.env.step(actions)
          # states information for statefull models like LSTM
          self.states = states
          self.dones = dones
          self.obs = obs
          mb_rewards.append(rewards)
          enc_obs.append(obs[..., -self.nc :])
      mb_obs.append(np.copy(self.obs))
      mb_dones.append(self.dones)
  
      enc_obs = np.asarray(enc_obs, dtype=self.obs_dtype).swapaxes(1, 0)
      mb_obs = np.asarray(mb_obs, dtype=self.obs_dtype).swapaxes(1, 0)
      mb_actions = np.asarray(mb_actions, dtype=self.ac_dtype).swapaxes(
          1, 0
      )
      mb_rewards = np.asarray(mb_rewards, dtype=np.float32).swapaxes(
          1, 0
      )
      mb_mus = np.asarray(mb_mus, dtype=np.float32).swapaxes(1, 0)
  
      mb_dones = np.asarray(mb_dones, dtype=np.bool).swapaxes(1, 0)
  
      mb_masks = mb_dones  # Used for statefull models like LSTM's to mask state when done
      mb_dones = mb_dones[
          :, 1:
      ]  # Used for calculating returns. The dones array is now aligned with rewards
  
      # shapes are now [nenv, nsteps, []]
      # When pulling from buffer, arrays will now be reshaped in place, preventing a deep copy.
  
      return (
          enc_obs,
          mb_obs,
          mb_actions,
          mb_rewards,
          mb_mus,
          mb_dones,
          mb_masks,
      )
  
file_path: baselines/baselines/acer/runner.py
imports: import numpy
  from baselines.common.runners import AbstractEnvRunner
  from baselines.common.vec_env.vec_frame_stack import VecFrameStack
  from gym import spaces
label_desc: Use image node_id 2 for calling the Runner obj's underlying member method code with example usage: obj.run() and returns: enc_obs,  mb_obs,  mb_actions,  mb_rewards,  mb_mus,  mb_dones,  mb_masks