def featurize()

in rtfm/featurizer.py [0:0]


    def featurize(self, task):
        valid = set(M.BaseMonster.valid_moves)
        if task.agent is not None and task.agent.position is not None:
            x, y = task.agent.position
            if not self.can_move_to(task.agent, (x-1, y), task.world):
                valid.remove(E.Left)
            if not self.can_move_to(task.agent, (x+1, y), task.world):
                valid.remove(E.Right)
            if not self.can_move_to(task.agent, (x, y-1), task.world):
                valid.remove(E.Up)
            if not self.can_move_to(task.agent, (x, y+1), task.world):
                valid.remove(E.Down)
        return {'valid': torch.tensor([a in valid for a in M.BaseMonster.valid_moves], dtype=torch.float)}