-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Focusing on object sometimes removes it from list of interactable objects when building admissible commands. #48
Comments
Hmmm interesting, I was unable to replicate this one. I wonder what the issue might be if it's not immediately repeatable:
|
Is |
Ah I see -- my mistake, the action sequence works but "focus on pea plant" is indeed not in the valid actions list under that referent. Since objects can have multiple referents, and enumerating all of them would make the valid actions list huge (especially when they include containers, e.g. X, X in Y, X in Y on Z), currently the input parser chooses a unique referent for each object in the valid actions list. But it's not doing a good job here, since it's picking "living thing" as the referent for the pea plant:
Possible fixes are:
|
I've implemented the non-breaking Option #1 in this branch: https://github.com/allenai/scienceworld/tree/exhaustivevalidactions The list of valid actions now returns a separate template for each valid string, and for actions that have multiple arguments it iterates all the possible combinations for each object, for each referent -- so the list can be much, much longer now. Here's an example:
Here, the same action ( It's not exhaustively tested yet -- we'll likely want to run it a bunch and make sure there isn't some environment that has a ton of objects that are nested deep in containers that have many possible referents, to make sure some part of it doesn't break. The string enumeration is an iterator, so if it breaks anywhere it might be on the |
I'm working on testing it -- it looks like it now returns options that aren't recognized by the parser. I'll have a look tomorrow and see if I can figure out where the issue is. :) |
It looks like the valid action generation was not respecting closed containers, so it would potentially generate possible valid actions involving items in closed containers. I've changed it to point to a function that just looks for visible objects, and so far I'm not seeing any red flags. |
@MarcCote possibly related to this, I just fixed a bug in But, we should probably plan to move the changes from this branch to |
@PeterAJansen do you think now is a good time to move the changes to the main branch? |
Todo
python examples/human.py --task-num 6 --var-num 0
1- look around
2- open door to greenhouse, score(8)
3- go to greenhouse , score(9)
4- look around
5- focus on pea plant in flower pot 3, score(50)
6- pick up flower pot 3, score(8)
7- go to hallway
8- open door to kitchen
9- go to kitchen, score(8)
10- focus on red box (losing focus)
11- move flower pot 3 to red box
12 - focus on pea plant (not listed in admissible commands!)
The text was updated successfully, but these errors were encountered: