code: def test_cem():
      env = TwoRoundDeterministicRewardEnv()
      np.random.seed(123)
      env.seed(123)
      random.seed(123)
      nb_actions = env.action_space.n
  
      # Next, we build a very simple model.
      model = Sequential()
      model.add(Dense(16, input_shape=(1,)))
      model.add(Activation("relu"))
      model.add(Dense(nb_actions))
      model.add(Activation("linear"))
  
      memory = EpisodeParameterMemory(limit=1000, window_length=1)
      dqn = CEMAgent(model=model, nb_actions=nb_actions, memory=memory)
      dqn.compile()
  
      dqn.fit(env, nb_steps=2000, visualize=False, verbose=1)
      h = dqn.test(env, nb_episodes=20, visualize=False)
      assert_allclose(np.mean(h.history["episode_reward"]), 3.0)
  
file_path: keras-rl/tests/integration/test_discrete.py
imports: import random
  import numpy
  from numpy.testing import assert_allclose
  from keras.models import Sequential
  from keras.layers import Dense, Activation
  from keras.optimizers import Adam
  from rl.agents import DQNAgent, CEMAgent, SARSAAgent
  from rl.policy import EpsGreedyQPolicy
  from rl.memory import SequentialMemory, EpisodeParameterMemory
  from utils.gym.envs import TwoRoundDeterministicRewardEnv
label_desc: Use image node_id 3 for calling a global function with example usage: test_cem() without return types