class_docstr: a ring buffer for storing transitions and sampling for training
  :state: (state_dim,)
  :action: (action_dim,)
  :reward: (,), scalar
  :next_state: (state_dim,)
  :done: (,), scalar (0 and 1) or bool (True and False)
class_docstr_tok: ["a","ring","buffer","for","storing","transitions","and","sampling","for","training",":","state",":","(","state_dim",",",")",":","action",":","(","action_dim",",",")",":","reward",":","(",",",")",",","scalar",":","next_state",":","(","state_dim",",",")",":","done",":","(",",",")",",","scalar","(","0","and","1",")","or","bool","(","True","and","False",")"]
code: def __len__(self):
      return len(self.buffer)
  
imports: import argparse
  import os
  import random
  import time
  import gym
  import matplotlib.pyplot
  import numpy
  import tensorflow
  import tensorflow_probability
  import tensorlayer
  from tensorlayer.layers import Dense
  from tensorlayer.models import Model
label_desc: Use image node_id 4 for calling the ReplayBuffer obj's underlying member method code with example usage: obj.__len__() and returns: len