示例#1
0
 def infos_to_request(self) -> EnvInfos:
     request_infos = EnvInfos()
     request_infos.description = True
     request_infos.inventory = True
     request_infos.entities = True
     request_infos.verbs = True
     request_infos.extras = ["recipe"]
     return request_infos
    def select_additional_infos(self) -> EnvInfos:
        request_infos = EnvInfos()
        request_infos.description = True
        request_infos.inventory = True
        request_infos.entities = True
        request_infos.verbs = True
        request_infos.extras = ["recipe", "walkthrough"]
        request_infos.admissible_commands = True

        return request_infos
    def select_additional_infos(self) -> EnvInfos:
        request_infos = EnvInfos()
        request_infos.description = True
        request_infos.inventory = True
        if self.config['general']['hcp'] >= 2:
            request_infos.entities = True
            request_infos.verbs = True
        if self.config['general']['hcp'] >= 4:
            request_infos.extras = ["recipe"]
        if self.config['general']['hcp'] >= 5:
            request_infos.admissible_commands = True

        # TEST
        request_infos.entities = True
        request_infos.verbs = True
        request_infos.extras = ["recipe", "walkthrough"]
        request_infos.admissible_commands = True

        return request_infos
示例#4
0
    def select_additional_infos(self) -> EnvInfos:
        """
        Returns what additional information should be made available at each game step.

        Requested information will be included within the `infos` dictionary
        passed to `CustomAgent.act()`. To request specific information, create a
        :py:class:`textworld.EnvInfos <textworld.envs.wrappers.filter.EnvInfos>`
        and set the appropriate attributes to `True`. The possible choices are:

        * `description`: text description of the current room, i.e. output of the `look` command;
        * `inventory`: text listing of the player's inventory, i.e. output of the `inventory` command;
        * `max_score`: maximum reachable score of the game;
        * `objective`: objective of the game described in text;
        * `entities`: names of all entities in the game;
        * `verbs`: verbs understood by the the game;
        * `command_templates`: templates for commands understood by the the game;
        * `admissible_commands`: all commands relevant to the current state;

        In addition to the standard information, game specific information
        can be requested by appending corresponding strings to the `extras`
        attribute. For this competition, the possible extras are:

        * `'recipe'`: description of the cookbook;
        * `'walkthrough'`: one possible solution to the game (not guaranteed to be optimal);

        Example:
            Here is an example of how to request information and retrieve it.

            >>> from textworld import EnvInfos
            >>> request_infos = EnvInfos(description=True, inventory=True, extras=["recipe"])
            ...
            >>> env = gym.make(env_id)
            >>> ob, infos = env.reset()
            >>> print(infos["description"])
            >>> print(infos["inventory"])
            >>> print(infos["extra.recipe"])

        Notes:
            The following information *won't* be available at test time:

            * 'walkthrough', 'facts'
        """
        request_infos = EnvInfos()
        request_infos.description = True
        request_infos.inventory = True
        request_infos.entities = True
        request_infos.verbs = True
        request_infos.extras = ["recipe"]
        request_infos.facts = True
        request_infos.location = True
        return request_infos
示例#5
0
文件: agent.py 项目: pybnen/conbas
    def request_infos() -> Optional[EnvInfos]:
        """Request the infos the agent expects from the environment

        Returns:
            request_infos: EnvInfos"""
        request_infos = EnvInfos()
        request_infos.description = True
        request_infos.inventory = True
        request_infos.entities = True
        request_infos.verbs = True
        request_infos.admissible_commands = True
        request_infos.command_templates = True
        request_infos.max_score = True
        return request_infos
示例#6
0
文件: logical_twc.py 项目: IBM/LOA
def get_infos(eval=True, recipe=True, walkthrough=True):
    request_infos = \
        EnvInfos(verbs=True, moves=True, inventory=True, description=True,
                 objective=True, intermediate_reward=True,
                 policy_commands=True, max_score=True,
                 admissible_commands=True, last_action=True, game=True,
                 facts=True, entities=True,
                 won=True, lost=True, location=True)
    request_infos.verbs = True
    request_infos.extras = []
    if recipe:
        request_infos.extras += ['recipe']
    if walkthrough:
        request_infos.extras += ['walkthrough']
    if eval:
        request_infos.max_score = True
        request_infos.admissible_commands = True
        request_infos.command_templates = True
    return request_infos
    def setup(self) -> EnvInfos:
        requested_infos = EnvInfos()
        requested_infos.description = True
        requested_infos.inventory = True
        requested_infos.entities = True
        requested_infos.verbs = True
        requested_infos.extras = ["recipe", "walkthrough"]
        requested_infos.admissible_commands = True

        env_id = textworld.gym.register_games(
            self.games,
            requested_infos,
            max_episode_steps=self.max_nb_steps,
            name="training")
        env_id = textworld.gym.make_batch(env_id,
                                          batch_size=self.batch_size,
                                          parallel=True)

        return gym.make(env_id)