class_docstr: Wraps the nevergrad library to expose its algorithm to orion
  
  Parameters
  ----------
  space: `orion.algo.space.Space`
      Optimisation space with priors for each dimension.
  model_name: str
      Nevergrad model to use as optimizer
  budget: int
      Maximal number of trial to generated
  num_workers: int
      Number of worker to use
  seed: None, int or sequence of int
      Seed for the random number generator used to sample new trials.
      Default: ``None``
code: def __init__(
      self,
      space: Space,
      model_name: str = "NGOpt",
      seed: int | Sequence[int] | None = None,
      budget: int = 100,
      num_workers: int = 10,
  ):
      import_optional.ensure()
  
      super().__init__(space)
      self.model_name = model_name
      self.seed = seed
      self.budget = budget
      self.num_workers = num_workers
  
      if model_name in NOT_WORKING:
          raise ValueError(f"Model {model_name} is not supported.")
  
      param = to_ng_space(space)
      self.algo = ng.optimizers.registry[model_name](
          parametrization=param, budget=budget, num_workers=num_workers
      )
      self.algo.enable_pickling()
      self._trial_mapping = {}
      self._fresh = True
      self._is_done = False
  
      self.seed = seed
      if seed is not None:
          self.seed_rng(seed)
  
imports: from __future__ import annotations
  import logging
  import pickle
  from typing import Callable, Iterable, Sequence, SupportsInt
  from orion.algo.base import BaseAlgorithm
  from orion.algo.space import Categorical, Dimension, Fidelity, Integer, Real, Space
  from orion.core.utils.format_trials import dict_to_trial
  from orion.core.utils.module_import import ImportOptional
  from orion.core.worker.trial import Trial
label_desc: Use image node_id 1 to create a new NevergradOptimizer object from inherited base classes: BaseAlgorithm with example: obj = NevergradOptimizer(space, model_name, seed, budget, num_workers)