cogtoolslab / physics-benchmarking-neurips2021

Repo for "Physion: Evaluating Physical Prediction from Vision in Humans and Machines", presented at NeurIPS 2021 (Datasets & Benchmarks track)
MIT License
59 stars 3 forks source link

Generation stuck #62

Open mingqiJ opened 1 year ago

mingqiJ commented 1 year ago

Hello! I have tried the code to generate the Physion dataset(because the origin dataset doesn't contain depth image)

It takes error if I use 1.11.23 version TDW:

In 1009 line of controllers/dominoes.py`
target_position_new = self.get_object_position(self.target_id, resp) or self.target_position
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Only the 1.8.8.0 version of TDW can work, but didn't complete work well if I use .sh file to generate dataset.

  1. For dominoes, it didn't work if the config folder contain "d3chairs_o1plants". Like this: Command: python ./controllers/dominoes.py @./configs/dominoes/pilot_dominoes_SJ020_d3chairs_o1plants_tdwroom/commandline_args.txt --dir try_test/pilot_dominoes_SJ020_d3chairs_o1plants_tdwroom/ --height 256 --width 256 --save_passes '' --write_passes '_img,_id,_depth,_normals,_flow' --save_meshes --testing_data_mode --gpu 0 --port 1071 Error: It stuck in tdw/controller.py, and wait all the time: resp = self.socket.recv_multipart() It only work if the config folder doesn't contain "d3chairs_o1plants".

  2. For collide and roll, it directly takes error: Command: python ./controllers/collide.py @./configs/roll/pilot_it2_rollingSliding_simple_collision_box/commandline_args.txt --dir try_test/pilot_it2_rollingSliding_simple_collision_box/ --height 256 --width 256 --save_passes '_img,_id,_depth' --write_passes '_img,_id,_depth,_normals,_flow' --save_meshes --testing_data_mode --gpu 0 --port 1071 Error: File "/tdw_physics/tdw_physics/dataset.py", line 723, in <dictcomp> return {k: vector[k] + self.room_center[k] for k in vector.keys()} AttributeError: 'Collision' object has no attribute 'room_center' The same error also happened when I try collide config file.

I didn't try all of them. But not the 3 scenario didn't work. A lot of problems in the generation code. Could you help me fix them? Physion is a very good dataset. It should be fixed to let more people use it.

mingqiJ commented 1 year ago

Hi,

I have fixed them. But now there is still some problem. Here I will firstly introduce how it can work.

I use Neurips2021 branch of [tdw_physics] to install tdw_physics package. Main branch didn't work well.

I use the 1.8.8.0 version of TDW. Other version is not good(like 1.11.23)

If setup use above version. The code can work, but still have problem(the distractor and occluder can not work)

When generate the dataset, if we set the distractor and occluder, the code will stuck in tdw/controller.py, and wait all the time: resp = self.socket.recv_multipart(). Some shapes work(coffee table, vase, etc), but some shape not(garden plant?). Do you know why it is? It looks like the code is waiting for the information, maybe wait for the complex shape?

But if don't set any distractors and occluders, the code can work for other 7 scenarios(without Drape). Drape needs flex.json file. Could you tell me where is it?