google / lasr

Code for "LASR: Learning Articulated Shape Reconstruction from a Monocular Video". CVPR 2021.
https://lasr-google.github.io/
Apache License 2.0
170 stars 17 forks source link

ModuleNotFoundError: No module named 'point_rend' #2

Closed Kana-alt closed 3 years ago

Kana-alt commented 3 years ago

I ran python mask.py pika path-to-detectron2-root; cd -

The following error has occurred. How can I solve this problem?

Traceback (most recent call last): File "mask.py", line 45, in import point_rend ModuleNotFoundError: No module named 'point_rend' /home/shiori/lasr-main

gengshan-y commented 3 years ago

To predict segmentations, you need to clone detectron2 and replace path-to-detectron2-root as the root folder of detectron2 repo in this command.

Please see the updated instruction

Kana-alt commented 3 years ago

Thanks for the reply. I did as you said. However, I get the same error.

I've also checked the torch and CUDA versions. I have installed detectron2 correctly. What could be the cause?

gengshan-y commented 3 years ago

This line adds the point_rend module to the python path. Could you check whether 'path-to-detectron2-folder/projects/PointRend/' exists?

gengshan-y commented 3 years ago

I updated the way of importing point_rend module to be independent of the detectron repo, but you still need to pass the repo path in order to read the model config files correctly.

Kana-alt commented 3 years ago

'path-to-detectron2-folder/projects/PointRend/ does exist.

When I ran the updated code, I got the following error. The file pointed to as non-existent by this error exists in the correct location.

Traceback (most recent call last): File "mask.py", line 49, in cfg.merge_from_file('%s/projects/PointRend/configs/InstanceSegmentation/pointrend_rcnn_X_101_32x8d_FPN_3x_coco.yaml'%(detbase)) File "/home/shiori/lasr-main/detectron2/detectron2/config/config.py", line 30, in merge_from_file assert PathManager.isfile(cfg_filename), f"Config file '{cfg_filename}' does not exist!" AssertionError: Config file './detectron2/projects/PointRend/configs/InstanceSegmentation/pointrend_rcnn_X_101_32x8d_FPN_3x_coco.yaml' does not exist! /home/kana/lasr-main

gengshan-y commented 3 years ago

Are you able to ls ./detectron2/projects/PointRend/configs/InstanceSegmentation/pointrend_rcnn_X_101_32x8d_FPN_3x_coco.yaml?

I guess you may have cloned detectron2 to the root folder of lasr, but did not pass detectron2 dir relative to where the command is executed.

Kana-alt commented 3 years ago

I couldn't run "ls".

I'm sorry. I don't really understand what you mean, but where is the right place to clone it?

gengshan-y commented 3 years ago

If you cloned detectron2 to ./lasr/detectron2, you could cd into ./preprocess, and then run 'python mask.py pika ../detectron2'

The point was to pass the relative path of detectron2 wrt the current folder to mask.py.

Kana-alt commented 3 years ago

Thank you very much. The problem has been solved.

By the way, where would I have cloned dentron2 to run with the original code?

Also, the first "log" and "tmp" files I created still do not contain anything, is that correct?

"python mask.py pika . After running "python mask.py pika ... /detectron2", the segmentation image is not generated.

gengshan-y commented 3 years ago

It generates data in subfolders under lasr-root/database/DAVIS/

Kana-alt commented 3 years ago

Thank you! The problem has been solved.