VISION-SJTU / USOT

[ICCV2021] Learning to Track Objects from Unlabeled Videos
63 stars 7 forks source link

"Ninja is required to load C++ extensions" #14

Closed LiShenglana closed 1 year ago

LiShenglana commented 1 year ago

Using /home/cscv/.cache/torch_extensions as PyTorch extensions root... Creating extension directory /home/cscv/.cache/torch_extensions/_prroi_pooling... Traceback (most recent call last): File "/home/cscv/Documents/lsl/USOT/scripts/train_usot.py", line 421, in main() File "/home/cscv/Documents/lsl/USOT/scripts/train_usot.py", line 411, in main curLR, config, writer_dict, logger, device=device) File "/home/cscv/Documents/lsl/USOT/scripts/train_usot.py", line 247, in usot_train search_memory_ir=search_memory_ir, search_bbox=search_bbox, cls_ratio=cls_ratio) File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(*input, kwargs) File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 159, in forward return self.module(*inputs[0], *kwargs[0]) File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(input, kwargs) File "/home/cscv/Documents/lsl/USOT/lib/models/models.py", line 287, in forward _, zf = self.neck(zf, crop=True, pr_pool=self.pr_pool, bbox=template_bbox) File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(*input, *kwargs) File "/home/cscv/Documents/lsl/USOT/lib/models/connect.py", line 349, in forward xf_pr = self.prpooling(x_ori, bbox) File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(input, **kwargs) File "/home/cscv/Documents/lsl/USOT/lib/models/prroi_pool/prroi_pool.py", line 28, in forward return prroi_pool2d(features, rois, self.pooled_height, self.pooled_width, self.spatial_scale) File "/home/cscv/Documents/lsl/USOT/lib/models/prroi_pool/functional.py", line 44, in forward _prroi_pooling = _import_prroi_pooling() File "/home/cscv/Documents/lsl/USOT/lib/models/prroi_pool/functional.py", line 33, in _import_prroi_pooling verbose=True File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 997, in load keep_intermediates=keep_intermediates) File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1202, in _jit_compile with_cuda=with_cuda) File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1268, in _write_ninja_file_and_build_library verify_ninja_availability() File "/home/cscv/anaconda3/envs/usot-model2/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1323, in verify_ninja_availability raise RuntimeError("Ninja is required to load C++ extensions") RuntimeError: Ninja is required to load C++ extensions

I encounterd this problem, it seems like need ninja, but I already install this packages: (usot-model2) cscv@cscv-202206:~/Documents/lsl/USOT/scripts$ which ninja /home/cscv/anaconda3/envs/usot-model2/bin/ninja How can I solve this, thank you very much!

zhengjilai commented 1 year ago

It seems to be another problem when compiling the PrPool extension. Please refer to issue #2 for some help. In my experience, it's definitely a bug dealing with your environment.

LiShenglana commented 1 year ago

Thanks for your reply! I changed num_workers from 16 to 1, and this problem disappeared. Maybe it is the problem of subprocess or something.

zhengjilai commented 1 year ago

Thanks for your reply! I changed num_workers from 16 to 1, and this problem disappeared. Maybe it is the problem of subprocess or something.

Glad to see you have fixed the problem, though I think the code should still work with num_workers > 1.

LiShenglana commented 1 year ago

Thanks for your reply! I changed num_workers from 16 to 1, and this problem disappeared. Maybe it is the problem of subprocess or something.

Glad to see you have fixed the problem, though I think the code should still work with num_workers > 1.

yes! Its still work with num_workers > 1. I found its the problem of swap memory in my computer.