code: def evaluate_cem(
      env, manager, trainer_module, num_eval_episodes: int
  ):
      # NOTE: for CEM, serving isn't implemented
      policy = manager.create_policy(trainer_module, serving=False)
      agent = Agent.create_for_env(env, policy)
      return evaluate_for_n_episodes(
          n=num_eval_episodes,
          env=env,
          agent=agent,
          max_steps=env.max_steps,
      )
  
imports: import logging
  import os
  import pprint
  import unittest
  import uuid
  import numpy
  import pytest
  import pytorch_lightning
  import torch
  from parameterized import parameterized
  from reagent.gym.agents.agent import Agent
  from reagent.gym.datasets.replay_buffer_dataset import OfflineReplayBufferDataset
  from reagent.gym.envs import Gym
  from reagent.gym.policies.random_policies import make_random_policy_for_env
  from reagent.gym.runners.gymrunner import evaluate_for_n_episodes
  from reagent.gym.utils import build_normalizer, fill_replay_buffer
  from reagent.model_managers.union import ModelManager__Union
  from reagent.replay_memory.circular_replay_buffer import ReplayBuffer
  from reagent.test.base.horizon_test_base import HorizonTestBase
  from reagent.workflow.types import RewardOptions
label_desc: Use image node_id 1 for calling a global function with example usage: evaluate_cem(env, manager, trainer_module, num_eval_episodes) and returns: evaluate_for_n_episodes