code: def forward(self, state: rlt.FeatureData):
      assert state.float_features.shape == (1, self.state_dim)
      if self.discrete_action:
          return self.discrete_planning(state)
      return self.continuous_planning(state)
  
imports: import itertools
  import logging
  import random
  from typing import List, Optional, Tuple
  import numpy
  import scipy.stats
  import torch
  import torch.nn
  from reagent.core import types
  from reagent.core.parameters import CONTINUOUS_TRAINING_ACTION_RANGE
  from reagent.models.base import ModelBase
  from reagent.models.world_model import MemoryNetwork
  from reagent.training.utils import rescale_actions
  from torch.distributions.bernoulli import Bernoulli
  from torch.distributions.categorical import Categorical
  from torch.distributions.normal import Normal
label_desc: Use image node_id 2 for calling the CEMPlannerNetwork obj's underlying member method code with example usage: obj.forward(state) and returns: self, self