srama2512 / PONI

PONI: Potential Functions for ObjectGoal Navigation with Interaction-free Learning. CVPR 2022 (Oral).
https://vision.cs.utexas.edu/projects/poni/
MIT License
85 stars 11 forks source link

problems on eval_poni.sh for gibson #9

Closed dwei-k closed 1 year ago

dwei-k commented 1 year ago

I prepared datasets and pretrained models according to README put the eval_poni.sh of gibson into folder /home/wdw/Projects/PONI/experiments/gibson_eval but when I run ./eval_poni.sh: Auto GPU config: Number of processes: 5 Number of processes on GPU 0: 2 Number of processes per GPU: 3 Dumping at /home/wdw/Projects/PONI/experiments/gibson_eval/gibson_objectnav/models/seed_100/ Namespace(add_agent2loc_distance=False, add_agent2loc_distance_v2=False, agent='sem_exp', alpha=0.99, area_weight_coef=0.5, auto_gpu_config=1, camera_height=0.88, cat_pred_threshold=5.0, clip_param=0.2, collision_threshold=0.2, cuda=True, dist_weight_coef=0.3, du_scale=1, dump_location='/home/wdw/Projects/PONI/experiments/gibson_eval/gibson_objectnav', entropy_coef=0.001, env_frame_height=480, env_frame_width=640, eps=1e-05, eval=1, exp_name='seed_100', exp_pred_threshold=1.0, floor_thr=50, frame_height=120, frame_width=160, gamma=0.99, global_downscaling=1, global_hidden_size=256, hfov=79.0, intrinsic_rew_coeff=0.02, load='0', log_interval=10, lr=2.5e-05, lr_schedule=[], main_model='simple_cnn', map_pred_threshold=1.0, map_resolution=5, map_size_cm=2400, mask_nearest_locations=True, mask_size=1.0, max_d=100.0, max_depth=5.0, max_episode_length=500, max_grad_norm=0.5, min_d=1.5, min_depth=0.5, no_cuda=False, num_eval_episodes=200, num_global_steps=20, num_goals=1, num_local_steps=1, num_mini_batch=2, num_pf_maps=0, num_processes=5, num_processes_on_first_gpu=2, num_processes_per_gpu=3, num_sem_categories=16, num_train_episodes=10000, num_training_frames=10000000, object_cat_offset=1, pf_masking_opt='unexplored', pf_model_path='/home/wdw/Projects/PONI/pretrained_models/gibson_models/poni_seed_345.ckpt', ppo_epoch=4, print_images=0, reward_coeff=0.1, save_interval=1, seed=100, seg_interval=3, sem_gpu_id=-1, sem_pred_prob_thr=0.9, sem_pred_weights='../pretrained_models/maskrcnn_gibson.pth', sim_gpu_id=1, split='val', success_dist=1.0, success_distance=0.1, task_config='tasks/objectnav_gibson.yaml', tau=0.95, total_num_scenes=5, turn_angle=30, use_egocentric_transform=False, use_gae=False, use_gt_segmentation=False, use_nearest_frontier=False, use_recurrent_global=0, value_loss_coef=0.5, version='v1.1', vision_range=100, visualize=0) Scenes per thread: Thread 0: ['Collierville.glb'] Thread 1: ['Corozal.glb'] Thread 2: ['Darden.glb'] Thread 3: ['Markleeville.glb'] Thread 4: ['Wiconisco.glb'] 2022-12-09 00:07:54,338 Initializing dataset PointNav-v1 2022-12-09 00:07:54,339 initializing sim Sim-v0 2022-12-09 00:07:54,423 Initializing dataset PointNav-v1 2022-12-09 00:07:54,425 initializing sim Sim-v0 WARNING: Logging before InitGoogleLogging() is written to STDERR E1209 00:07:54.425750 19103 StageAttributesManager.cpp:86] ::registerObjectFinalize : Render asset template handle : ../data/scene_datasets/gibson_semantic//Wiconisco.glb specified in stage template with handle : ../data/scene_datasets/gibson_semantic//Wiconisco.glb does not correspond to any existing file or primitive render asset. Aborting. WARNING: Logging before InitGoogleLogging() is written to STDERR E1209 00:07:54.494887 19102 StageAttributesManager.cpp:86] ::registerObjectFinalize : Render asset template handle : ../data/scene_datasets/gibson_semantic//Markleeville.glb specified in stage template with handle : ../data/scene_datasets/gibson_semantic//Markleeville.glb does not correspond to any existing file or primitive render asset. Aborting. 2022-12-09 00:07:54,533 Initializing dataset PointNav-v1 2022-12-09 00:07:54,534 initializing sim Sim-v0 2022-12-09 00:07:54,554 Initializing dataset PointNav-v1 2022-12-09 00:07:54,555 initializing sim Sim-v0 WARNING: Logging before InitGoogleLogging() is written to STDERR E1209 00:07:54.598381 19099 StageAttributesManager.cpp:86] ::registerObjectFinalize : Render asset template handle : ../data/scene_datasets/gibson_semantic//Collierville.glb specified in stage template with handle : ../data/scene_datasets/gibson_semantic//Collierville.glb does not correspond to any existing file or primitive render asset. Aborting. WARNING: Logging before InitGoogleLogging() is written to STDERR E1209 00:07:54.624519 19101 StageAttributesManager.cpp:86] ::registerObjectFinalize : Render asset template handle : ../data/scene_datasets/gibson_semantic//Darden.glb specified in stage template with handle : ../data/scene_datasets/gibson_semantic//Darden.glb does not correspond to any existing file or primitive render asset. Aborting. 2022-12-09 00:07:54,729 Initializing dataset PointNav-v1 2022-12-09 00:07:54,730 initializing sim Sim-v0 WARNING: Logging before InitGoogleLogging() is written to STDERR E1209 00:07:54.785553 19100 StageAttributesManager.cpp:86] ::registerObjectFinalize : Render asset template handle : ../data/scene_datasets/gibson_semantic//Corozal.glb specified in stage template with handle : ../data/scene_datasets/gibson_semantic//Corozal.glb does not correspond to any existing file or primitive render asset. Aborting. Traceback (most recent call last): File "eval_poni.py", line 949, in main() File "eval_poni.py", line 102, in main envs = make_vec_envs(args, workers_ignore_signals=not args.eval) File "/home/wdw/Projects/PONI/semexp/envs/init.py", line 7, in make_vec_envs envs = construct_envs(args, workers_ignore_signals=workers_ignore_signals, **kwargs) File "/home/wdw/Projects/PONI/semexp/envs/habitat/init.py", line 147, in construct_envs envs = VectorEnv( File "/home/wdw/Projects/PONI/semexp/envs/habitat/utils/vector_env.py", line 139, in init self.observation_spaces = [read_fn() for read_fn in self._connection_read_fns] File "/home/wdw/Projects/PONI/semexp/envs/habitat/utils/vector_env.py", line 139, in self.observation_spaces = [read_fn() for read_fn in self._connection_read_fns] File "/home/wdw/anaconda3/envs/poni/lib/python3.8/multiprocessing/connection.py", line 250, in recv buf = self._recv_bytes() File "/home/wdw/anaconda3/envs/poni/lib/python3.8/multiprocessing/connection.py", line 414, in _recv_bytes buf = self._recv(4) File "/home/wdw/anaconda3/envs/poni/lib/python3.8/multiprocessing/connection.py", line 379, in _recv chunk = read(handle, remaining) ConnectionResetError: [Errno 104] Connection reset by peer Exception ignored in: <function VectorEnv.del at 0x7f6a786bd430> Traceback (most recent call last): File "/home/wdw/Projects/PONI/semexp/envs/habitat/utils/vector_env.py", line 596, in del self.close() File "/home/wdw/Projects/PONI/semexp/envs/habitat/utils/vector_env.py", line 431, in close write_fn((CLOSE_COMMAND, None)) File "/home/wdw/anaconda3/envs/poni/lib/python3.8/multiprocessing/connection.py", line 206, in send self._send_bytes(_ForkingPickler.dumps(obj)) File "/home/wdw/anaconda3/envs/poni/lib/python3.8/multiprocessing/connection.py", line 411, in _send_bytes self._send(header + buf) File "/home/wdw/anaconda3/envs/poni/lib/python3.8/multiprocessing/connection.py", line 368, in _send n = write(self._handle, buf) BrokenPipeError: [Errno 32] Broken pipe

It seems like a data path problem, but I can't figure it out looking forward for your reply, thanks!

srama2512 commented 1 year ago

@dwei-k - Can you please share the path of the Gibson dataset? It should be located at $PONI_ROOT/data/scene_datasets/gibson_semantic

dwei-k commented 1 year ago

@srama2512 thank you for your reply my path of Gibson dataset: $PONI_ROOT/data/scene_datasets/gibson_semantic/gibson_tiny/Allensville$PONI_ROOT/data/scene_datasets/gibson_semantic/gibson_tiny/Beechwood and $PONI_ROOT/data/datasets/objectnav/gibson/v1.1/train

I use the path of the Gibson dataset to produce dataset for training poni

srama2512 commented 1 year ago

@dwei-k - please remove the gibson_tiny directory. The scene files should be in gibson_semantic.

dwei-k commented 1 year ago

sorry, I remove the gibson_tiny directory, but I still encounter the same problem should I remove all the scene folders? now my data path: $PONI_ROOT/data/scene_datasets/gibson_semantic/Allensville/... $PONI_ROOT/data/scene_datasets/gibson_semantic/Beechwood/...

according to E1209 11:30:58.176195 41843 StageAttributesManager.cpp:86] ::registerObjectFinalize : Render asset template handle : ../data/scene_datasets/gibson_semantic//Wiconisco.glb specified in stage template with handle : ../data/scene_datasets/gibson_semantic//Wiconisco.glb does not correspond to any existing file or primitive render asset. Aborting. maybe I should put the content of Wiconisco folder in the $PONI_ROOT/data/scene_datasets/gibson_semantic, not the Wiconisco folder itself?

srama2512 commented 1 year ago

@dwei-k - are you sure you have followed all the instructions here? https://github.com/facebookresearch/habitat-sim/blob/main/DATASETS.md#gibson-and-3dscenegraph-datasets

The dataset structure seems to be incorrect. After converting from Gibson to habitat format, it should work as expected.

dwei-k commented 1 year ago

im sorry didnt reply for a long time i solved the problem by putting all scenes files in the $PONI_ROOT/data/scene_datasets/gibson_semantic without directories like Allensville/ or Beechwood/, thank you for your help very much