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