allenai / Holodeck

CVPR 2024: Language Guided Generation of 3D Embodied AI Environments.
https://yueyang1996.github.io/holodeck
Apache License 2.0
304 stars 25 forks source link

RuntimeError: unable to open shared memory object #2

Closed Asianfleet closed 7 months ago

Asianfleet commented 7 months ago

python main.py --query "a living room" --openai_api_key ...... I encountered this error: Traceback (most recent call last): File "/home/lenovo/AI_Pkgs/Holodeck/main.py", line 95, in File "/home/lenovo/AI_Pkgs/Holodeck/main.py", line 21, in generate_single_scene File "/home/lenovo/AI_Pkgs/Holodeck/modules/holodeck.py", line 186, in generate_scene File "/home/lenovo/AI_Pkgs/Holodeck/modules/holodeck.py", line 126, in select_objects File "/home/lenovo/AI_Pkgs/Holodeck/modules/object_selector.py", line 71, in select_objects File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/pool.py", line 364, in map File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/pool.py", line 771, in get File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/pool.py", line 537, in _handle_tasks File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/connection.py", line 206, in send File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/multiprocessing/reduction.py", line 51, in dumps File "/home/lenovo/anaconda3/envs/envgen/lib/python3.9/site-packages/torch/multiprocessing/reductions.py", line 369, in reduce_storage RuntimeError: unable to open shared memory object in read-write mode: Too many open files (24) device:RTX 3080 GPU 16GVRAM Intel i7-11800H 64GRAM environment:WSL2

YueYANG1996 commented 7 months ago

It is a multiprocessing issue in your system, possibly due to the WSL2 environment. You could either increase the limit of the open files (as mentioned in your error message) or deactivate the multiprocessing in the codebase (this will make the generation of multi-room scenes slower). To disable the multiprocessing, you can set the argument self.multiprocessing = False. https://github.com/allenai/Holodeck/blob/2a2c3c4c7a675dcb6b3ae5363378addfe1dbb6a2/modules/object_selector.py#L41

utk-hua commented 7 months ago

Another option might be to increase the limit of number of files that can be open by ulimit -n 2048