Closed lucasjinreal closed 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:
oneformer/modeling/pixel_decoder/ops/functions/ms_deform_attn_func.py
: find the changed file here
oneformer/modeling/pixel_decoder/ops/modules/ms_deform_attn.py
: find the changed file here
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.
@praeclarumjj3 hello, why not just make it support out-ofbox? by simply judge on if torch.cuda.is_avaiable()?
Thanks for your suggestion. I plan on doing that in a future commit.
Hi @jinfagang, I have made the changes in the most recent commit. It should work for you now.
@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'
btw, 15s generated an image on CPU is quite slow..
Can you try saving the output instead by specifying the --output
path?
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.
Feel free to re-open if you face any issues.
Hi @praeclarumjj3 , about the changes to ms_deform_attn
file to run on the CPU, can you share the links? They are not available.
cd oneformer/modeling/pixel_decoder/ops
sh make.sh
got
\how to run on CPU?