def sample_paths()

in gym_wikinav/envs/wikinav_env/web_graph.py [0:0]


    def sample_paths(self, batch_size, is_training=True):
        all_paths, lengths = self.datasets["train" if is_training else "valid"]

        if is_training:
            ids = np.random.choice(len(all_paths), size=batch_size)
        else:
            if self._eval_cursor >= len(all_paths) - 1:
                self._eval_cursor = 0
            ids = np.arange(self._eval_cursor,
                            min(len(all_paths),
                                self._eval_cursor + batch_size))
            self._eval_cursor += batch_size

        paths = [self._prepare_path(all_paths[idx]) for idx in ids]
        return ids, paths, lengths[ids]