class_docstr: This hyperparameter space optimizer is similar to a grid search, however, it does
  try to greedily sample maximally different points in the space to explore it. This space
  optimizer has a fixed pseudorandom exploration method that makes the sampling reproductible.
  
  When over the expected_n_trials (if sampling too much), the sampler will turn
  to a non-seeded random search.
  
  It may be good for space exploration before a TPE or for unit tests.
  
  If the expected_n_trials is not set or set to 0, the sampler will guess its ideal
  sampling count and then switch to random search after that.
class_docstr_tok: ["This","hyperparameter","space","optimizer","is","similar","to","a","grid","search",",","however",",","it","does","try","to","greedily","sample","maximally","different","points","in","the","space","to","explore","it",".","This","space","optimizer","has","a","fixed","pseudorandom","exploration","method","that","makes","the","sampling","reproductible",".","When","over","the","expected_n_trials","(","if","sampling","too","much",")",",","the","sampler","will","turn","to","a","non-seeded","random","search",".","It","may","be","good","for","space","exploration","before","a","TPE","or","for","unit","tests",".","If","the","expected_n_trials","is","not","set","or","set","to","0",",","the","sampler","will","guess","its","ideal","sampling","count","and","then","switch","to","random","search","after","that","."]
code: def __init__(self, expected_n_trials: int = 0, seed_i: int = 0):
      BaseHyperparameterOptimizer.__init__(self)
      self.expected_n_trials: int = expected_n_trials
      self._i: int = seed_i
  
imports: import copy
  import itertools
  import math
  import operator
  import random
  import warnings
  from abc import ABC, abstractmethod
  from collections import OrderedDict
  from functools import reduce
  from typing import Any, List, Set, Tuple
  from neuraxle.hyperparams.distributions import ContinuousHyperparameterDistribution, DiscreteHyperparameterDistribution
  from neuraxle.hyperparams.space import FlatDict, HyperparameterSamples, HyperparameterSpace
  from neuraxle.metaopt.data.reporting import RoundReport
label_desc: Use image node_id 1 to create a new GridExplorationSampler object from inherited base classes: BaseHyperparameterOptimizer with example: obj = GridExplorationSampler(expected_n_trials, seed_i)