class_docstr: Write me
      
code: def __init__(
      self,
      model,
      nb_actions,
      memory,
      batch_size=50,
      nb_steps_warmup=1000,
      train_interval=50,
      elite_frac=0.05,
      memory_interval=1,
      theta_init=None,
      noise_decay_const=0.0,
      noise_ampl=0.0,
      **kwargs,
  ):
      super(CEMAgent, self).__init__(**kwargs)
  
      # Parameters.
      self.nb_actions = nb_actions
      self.batch_size = batch_size
      self.elite_frac = elite_frac
      self.num_best = int(self.batch_size * self.elite_frac)
      self.nb_steps_warmup = nb_steps_warmup
      self.train_interval = train_interval
      self.memory_interval = memory_interval
  
      # if using noisy CEM, the minimum standard deviation will be ampl * exp (- decay_const * step )
      self.noise_decay_const = noise_decay_const
      self.noise_ampl = noise_ampl
  
      # default initial mean & cov, override this by passing an theta_init argument
      self.init_mean = 0.0
      self.init_stdev = 1.0
  
      # Related objects.
      self.memory = memory
      self.model = model
      self.shapes = [w.shape for w in model.get_weights()]
      self.sizes = [w.size for w in model.get_weights()]
      self.num_weights = sum(self.sizes)
  
      # store the best result seen during training, as a tuple (reward, flat_weights)
      self.best_seen = (-np.inf, np.zeros(self.num_weights))
  
      self.theta = np.zeros(self.num_weights * 2)
      self.update_theta(theta_init)
  
      # State.
      self.episode = 0
      self.compiled = False
      self.reset_states()
  
imports: from __future__ import division
  from collections import deque
  from copy import deepcopy
  import numpy
  import keras.backend
  from keras.models import Model
  from rl.core import Agent
  from rl.util import *
label_desc: Use image node_id 1 to create a new CEMAgent object from inherited base classes: Agent with example: obj = CEMAgent(model, nb_actions, memory, batch_size, nb_steps_warmup, train_interval, elite_frac, memory_interval, theta_init, noise_decay_const, noise_ampl)