class_docstr: Random search on the search space.
  
  Parameters
  ----------
  dedup
      Do not try the same configuration twice.
  seed
      Random seed.
class_docstr_tok: ["Random","search","on","the","search","space",".","Parameters","--","--","--","--","--","dedup","Do","not","try","the","same","configuration","twice",".","seed","Random","seed","."]
code: def _run(self) -> None:
      while True:
          # Random search needs retry to:
          # 1. Generate new when dedup is on.
          # 2. Retry when the sample is invalid.
          model = self._retry_helper.retry(
              self.random, self.model_space
          )
          if model is None:
              _logger.info(
                  "Random generation has run out of patience. There is nothing to search. Exiting."
              )
              return
  
          if not self.wait_for_resource():
              break
  
          self.engine.submit_models(model)
  
imports: from __future__ import annotations
  import logging
  import warnings
  from typing import Iterator, Any
  from numpy.random import RandomState
  from nni.mutable import Sample
  from nni.nas.space import ExecutableModelSpace
  from .base import Strategy
  from .utils import DeduplicationHelper, RetrySamplingHelper
label_desc: Use image node_id 4 for calling the Random obj's underlying member method code with example usage: obj._run() without return types