def lazy_init_neg_sampler()

in graphlearn_torch/python/sampler/neighbor_sampler.py [0:0]


  def lazy_init_neg_sampler(self):
    if not self.is_neg_sampler_initialized and self.with_neg:
      with self._sampler_lock:
        if self._neg_sampler is None:
          if self._g_cls == 'homo':
            self._neg_sampler = RandomNegativeSampler(
              graph=self.graph,
              mode=self.device.type.upper(),
              edge_dir=self.edge_dir
            )
            self.is_neg_sampler_initialized = True
          else: # hetero
            self._neg_sampler = {}
            for etype, g in self.graph.items():
              self._neg_sampler[etype] = RandomNegativeSampler(
                graph=g,
                mode=self.device.type.upper(),
                edge_dir=self.edge_dir
              )
            self.is_neg_sampler_initialized = True