code: def _generate_walks(self):
          
  
          flatten = lambda l: [item for sublist in l for item in sublist]
  
          # Split num_walks for each worker
          num_walks_lists = np.array_split(range(self.num_walks), self.workers)
  
          walk_results = Parallel(n_jobs=self.workers, temp_folder=self.temp_folder, require=self.require)(
              delayed(parallel_generate_walks)(self.d_graph,
                                               self.walk_length,
                                               len(num_walks),
                                               idx,
                                               self.sampling_strategy,
                                               self.NUM_WALKS_KEY,
                                               self.WALK_LENGTH_KEY,
                                               self.NEIGHBORS_KEY,
                                               self.PROBABILITIES_KEY,
                                               self.FIRST_TRAVEL_KEY,
                                               self.quiet) for
              idx, num_walks
              in enumerate(num_walks_lists, 1))
  
          walks = flatten(walk_results)
  
          return walks
docs: Generates the random walks which will be used as the skip-gram input.
          :return: List of walks. Each walk is a list of nodes.