SHI-Labs / OneFormer

OneFormer: One Transformer to Rule Universal Image Segmentation, arxiv 2022 / CVPR 2023
https://praeclarumjj3.github.io/oneformer
MIT License
1.44k stars 130 forks source link

`cd oneformer/modeling/pixel_decoder/ops` `sh make.sh` #4

Closed lucasjinreal closed 1 year ago

lucasjinreal commented 1 year ago

cd oneformer/modeling/pixel_decoder/ops sh make.sh

got

/OneFormer/oneformer/modeling/pixel_decoder/ops/setup.py", line 52, in get_extensions
    raise NotImplementedError('CUDA_HOME is None. Please set environment variable CUDA_HOME.')
NotImplementedError: CUDA_HOME is None. Please set environment variable CUDA_HOME.

\how to run on CPU?

praeclarumjj3 commented 1 year ago

Hi @jinfagang, thanks for your interest in our work. By default, we compile the code on a GPU machine. If you want to run on a CPU, you will need to make changes to two files:

After you change these two files, don't run sh make.sh as the CPU kernel uses pure PyTorch code. That should solve your issue.

lucasjinreal commented 1 year ago

@praeclarumjj3 hello, why not just make it support out-ofbox? by simply judge on if torch.cuda.is_avaiable()?

praeclarumjj3 commented 1 year ago

Thanks for your suggestion. I plan on doing that in a future commit.

praeclarumjj3 commented 1 year ago

Hi @jinfagang, I have made the changes in the most recent commit. It should work for you now.

lucasjinreal commented 1 year ago

@praeclarumjj3 hello, cpu got some error:

[11/16 12:55:08 detectron2]: ../../../images/COCO_val2014_000000001856.jpg: detected 1 instances in 15.87s
Traceback (most recent call last):
  File "/Ux/OneFormer/demo/demo.py", line 138, in <module>
    cv2.imshow(WINDOW_NAME, visualized_output.get_image()[:, :, ::-1])
AttributeError: 'dict' object has no attribute 'get_image'
lucasjinreal commented 1 year ago

btw, 15s generated an image on CPU is quite slow..

praeclarumjj3 commented 1 year ago

Can you try saving the output instead by specifying the --output path?

praeclarumjj3 commented 1 year ago

btw, 15s generated an image on CPU is quite slow..

You are free to optimize the method. 15s seems fair to me, considering it's a large model, and I assume you must be running for the panoptic task. If yes, that gives you all three predictions, so it's 5 seconds per output.

praeclarumjj3 commented 1 year ago

Feel free to re-open if you face any issues.

hamedsteiner commented 1 year ago

Hi @praeclarumjj3 , about the changes to ms_deform_attn file to run on the CPU, can you share the links? They are not available.