in gym_wikinav/envs/wikinav_env/web_graph.py [0:0]
def __init__(self, articles, datasets, path_length, stop_sentinel=None):
self.articles = articles
self.datasets = {name: (all_paths, np.array(lengths))
for name, (all_paths, lengths) in datasets.items()}
self.path_length = path_length
assert "train" in self.datasets
assert "valid" in self.datasets
# Hack: use a random page as the "STOP" sentinel.
# Works in expectation. :)
if stop_sentinel is None:
stop_sentinel = np.random.choice(len(self.articles))
self.stop_sentinel = stop_sentinel
print("Stop sentinel: ", self.stop_sentinel,
self.articles[self.stop_sentinel].title)
self._eval_cursor = 0