class_docstr: A wrapper of CR-FM-NES jax port.
class_docstr_tok: ["A","wrapper","of","CR-FM-NES","jax","port","."]
code: def __init__(
      self,
      param_size: int,
      pop_size: int,
      init_params: Optional[Union[jnp.ndarray, np.ndarray]] = None,
      init_stdev: float = 0.1,
      seed: int = 0,
      logger: logging.Logger = None,
  ):
      if logger is None:
          self.logger = create_logger(name="FCRFM")
      else:
          self.logger = logger
      self.pop_size = pop_size
  
      if init_params is None:
          center = np.zeros(abs(param_size))
      else:
          center = init_params
  
      self.crfm = CRFM(
          param_size,
          pop_size,
          center,
          init_stdev,
          jax.random.PRNGKey(seed),
      )
  
      self.params = None
      self._best_params = None
  
      self.jnp_array = jax.jit(jnp.array)
      self.jnp_stack = jax.jit(jnp.stack)
  
imports: import math
  import numpy
  from typing import Union
  from typing import Optional
  import logging
  import jax
  import jax.numpy
  from evojax.algo.base import NEAlgorithm
  from evojax.util import create_logger
label_desc: Use image node_id 1 to create a new CRFMNES object from inherited base classes: NEAlgorithm with example: obj = CRFMNES(param_size, pop_size, init_params, init_stdev, seed, logger)