real-stanford / scalingup

[CoRL 2023] This repository contains data generation and training code for Scaling Up & Distilling Down
https://www.cs.columbia.edu/~huy/scalingup/
350 stars 22 forks source link

different output #12

Closed yuanzihao closed 1 year ago

yuanzihao commented 1 year ago

Greetings! I run your code 'examples/exploration_task_tree.py' and get a mp4 which shows how the arm pick and put a crayon box. And i try to figure out where is the query.' In your 'docs/walkthrough.md' the part Exploration Task Tree wrote down that 'state encoder simply parses through the env state to output a bullet list of objects and the articulation structure so the llm knows which objects (parts) are in the scene and how they are connected', however, i couldn't find where is the query such like 'pick up the pencilbox' or 'pick up the crayon box'. Thanks for your reading!

yuanzihao commented 1 year ago

or i express it furthermore. by reading the log, i found that the first task tree is pickup the pencilbox. but when it has been done, it turn to pickup the crayon box immediately. i just cant find where can i send the query, it really confuse me a lot.

huy-ha commented 1 year ago

Hi!

where is the query in exploration_task_tree.py

When setup_env is called, that function also returns the TaskSampler. The query description is contained in Task objects inside the TaskSampler. So when you sample a task, it's returning a random task from the list of tasks supported in that domain (defined in the yaml config file)

To add a new task, you can follow examples here, and define your task's success condition, rewards, and task description (a.k.a query).

yuanzihao commented 1 year ago

Thanks for your replies! After asking the question, I soon found that the tasks were set randomly. Your work help me a lot, grateful! Looking forward to your talk in CoRL2023!