docstr: Delayed initialization of the transforms to avoid slowing down the instance creation
  (makes unit testing much faster).
  This functions creates the random transform used upon each block (translation + optional rotation).
docstr_tok: ["Delayed","initialization","of","the","transforms","to","avoid","slowing","down","the","instance","creation","(","makes","unit","testing","much","faster",")",".","This","functions","creates","the","random","transform","used","upon","each","block","(","translation","+","optional","rotation",")","."]
code: def _initialize(self) -> None:
      """Delayed initialization of the transforms to avoid slowing down the instance creation
      (makes unit testing much faster).
      This functions creates the random transform used upon each block (translation + optional rotation).
      """
      # use random indices for blocks
      indices = self.random_state.choice(
          self._dimension, self.block_dimension * self.num_blocks, replace=False  # type: ignore
      ).tolist()
      indices.sort()  # keep the indices sorted sorted so that blocks do not overlap
      # Caution this is also important for split, so that splitted arrays end un in the same block
      for transform_inds in tools.grouper(
          indices, n=self.block_dimension
      ):
          self._transforms.append(
              utils.Transform(
                  transform_inds,
                  translation_factor=self.translation_factor,
                  rotation=self.rotation,
                  random_state=self.random_state,
                  expo=self.expo,
              )
          )
  
imports: import hashlib
  import itertools
  import numpy
  import nevergrad
  from nevergrad.common import tools
  import nevergrad.common.typing
  from .base import ExperimentFunction
  from .pbt import PBT
  from .None import utils
  from .None import corefuncs
label_desc: Use image node_id 2 for calling the ArtificialVariable obj's underlying member method code with example usage: obj._initialize() without return types