When I run as below:
from prroi_pool import PrRoIPool2D
avg_pool = PrRoIPool2D(window_height, window_width, spatial_scale)
roi_features = avg_pool(features, rois)
I got the error:
Using /tmp/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /tmp/torch_extensions/_prroi_pooling/build.ninja...
Building extension module _prroi_pooling...
CalledProcessError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _build_extension_module(name, build_directory, verbose)
1029 cwd=build_directory,
-> 1030 check=True)
1031 else:
/usr/lib/python3.6/subprocess.py in run(input, timeout, check, *popenargs, **kwargs)
437 raise CalledProcessError(retcode, process.args,
--> 438 output=stdout, stderr=stderr)
439 return CompletedProcess(process.args, retcode, stdout, stderr)
CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
RuntimeError Traceback (most recent call last)
in
1 avg_pool = PrRoIPool2D(window_height, window_width, spatial_scale)
----> 2 roi_features = avg_pool(features, rois)
3 roi_features.shape
/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in call(self, *input, **kwargs)
539 result = self._slow_forward(*input, **kwargs)
540 else:
--> 541 result = self.forward(*input, **kwargs)
542 for hook in self._forward_hooks.values():
543 hook_result = hook(self, input, result)
~/private/PreciseRoIPooling/pytorch/prroi_pool/prroi_pool.py in forward(self, features, rois)
26
27 def forward(self, features, rois):
---> 28 return prroi_pool2d(features, rois, self.pooled_height, self.pooled_width, self.spatial_scale)
29
30 def extra_repr(self):
~/private/PreciseRoIPooling/pytorch/prroi_pool/functional.py in forward(ctx, features, rois, pooled_height, pooled_width, spatial_scale)
43 @staticmethod
44 def forward(ctx, features, rois, pooled_height, pooled_width, spatial_scale):
---> 45 _prroi_pooling = _import_prroi_pooling()
46
47 assert 'FloatTensor' in features.type() and 'FloatTensor' in rois.type(), \
~/private/PreciseRoIPooling/pytorch/prroi_pool/functional.py in _import_prroi_pooling()
31 '_prroi_pooling',
32 [pjoin(root_dir, 'prroi_pooling_gpu.c'), pjoin(root_dir, 'prroi_pooling_gpu_impl.cu')],
---> 33 verbose=True
34 )
35 except ImportError as e:
/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in load(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module)
659 verbose,
660 with_cuda,
--> 661 is_python_module)
662
663
/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _jit_compile(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module)
828 build_directory=build_directory,
829 verbose=verbose,
--> 830 with_cuda=with_cuda)
831 finally:
832 baton.release()
/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _write_ninja_file_and_build(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda)
881 if verbose:
882 print('Building extension module {}...'.format(name))
--> 883 _build_extension_module(name, build_directory, verbose)
884
885
/usr/local/lib/python3.6/dist-packages/torch/utils/cpp_extension.py in _build_extension_module(name, build_directory, verbose)
1041 if hasattr(error, 'output') and error.output:
1042 message += ": {}".format(error.output.decode())
-> 1043 raise RuntimeError(message)
1044
1045
RuntimeError: Error building extension '_prroi_pooling'
So, what's the problem?