class_docstr: A buffer for storing trajectories experienced by a PPO agent interacting
  with the environment, and using Generalized Advantage Estimation (GAE-Lambda)
  for calculating the advantages of state-action pairs.
docstr: Call this at the end of an epoch to get all of the data from
  the buffer, with advantages appropriately normalized (shifted to have
  mean zero and std one). Also, resets some pointers in the buffer.
docstr_tok: ["Call","this","at","the","end","of","an","epoch","to","get","all","of","the","data","from","the","buffer",",","with","advantages","appropriately","normalized","(","shifted","to","have","mean","zero","and","std","one",")",".","Also",",","resets","some","pointers","in","the","buffer","."]
code: def get(self):
      """
      Call this at the end of an epoch to get all of the data from
      the buffer, with advantages appropriately normalized (shifted to have
      mean zero and std one). Also, resets some pointers in the buffer.
      """
      assert (
          self.ptr == self.max_size
      )  # buffer has to be full before you can get
      self.ptr, self.path_start_idx = 0, 0
      # the next two lines implement the advantage normalization trick
      adv_mean, adv_std = mpi_statistics_scalar(self.adv_buf)
      self.adv_buf = (self.adv_buf - adv_mean) / adv_std
      return [
          self.obs_buf,
          self.act_buf,
          self.adv_buf,
          self.ret_buf,
          self.logp_buf,
      ]
  
file_path: spinningup/spinup/algos/tf1/ppo/ppo.py
imports: import numpy
  import tensorflow
  import gym
  import time
  import spinup.algos.tf1.ppo.core
  from spinup.utils.logx import EpochLogger
  from spinup.utils.mpi_tf import MpiAdamOptimizer, sync_all_params
  from spinup.utils.mpi_tools import mpi_fork, mpi_avg, proc_id, mpi_statistics_scalar, num_procs
label_desc: Use image node_id 4 for calling the PPOBuffer obj's underlying member method code with example usage: obj.get() and returns: list