Skip to content

Error building extension '_prroi_pooling' #82

Description

@hhhyyyqqq

when i run the code pytracking that depends on PrecisePooling, I encounter the error.

first of all, i use git clone from gitee to clone the library to my ubuntus, and I check the code is symbolic link. But I still encounter the error. after showing my error messages, I show my environment as follows.

the whole error messages are as follows:

/home/ai1015/anaconda3/envs/pytracking/bin/python /home/ai1015/pytracking/ltr/run_training.py dimp dimp18
Training: dimp dimp18
WARNING: You are using tensorboardX instead sis you have a too old pytorch version.
No matching checkpoint file found
Using /home/ai1015/.cache/torch_extensions as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /home/ai1015/.cache/torch_extensions/prroi_pooling/build.ninja...
Building extension module prroi_pooling...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/3] /usr/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
FAILED: prroi_pooling_gpu_impl.cuda.o
/usr/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
nvcc fatal : Unsupported gpu architecture 'compute_86'
[2/3] c++ -MMD -MF prroi_pooling_gpu.o.d -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -c /home/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c -o prroi_pooling_gpu.o
ninja: build stopped: subcommand failed.
Training crashed at epoch 1
Traceback for the error!
Traceback (most recent call last):
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1539, in _run_ninja_build
env=env)
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/ai1015/pytracking/ltr/trainers/base_trainer.py", line 70, in train
self.train_epoch()
File "/home/ai1015/pytracking/ltr/trainers/ltr_trainer.py", line 97, in train_epoch
self.cycle_dataset(loader)
File "/home/ai1015/pytracking/ltr/trainers/ltr_trainer.py", line 75, in cycle_dataset
loss, stats = self.actor(data)
File "/home/ai1015/pytracking/ltr/actors/tracking.py", line 28, in call
test_proposals=data['test_proposals'])
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/ai1015/pytracking/ltr/models/tracking/dimpnet.py", line 60, in forward
target_scores = self.classifier(train_feat_clf, test_feat_clf, train_bb, *args, **kwargs)
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py", line 57, in forward
filter, filter_iter, losses = self.get_filter(train_feat, train_bb, *args, **kwargs)
File "/home/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py", line 94, in get_filter
weights = self.filter_initializer(feat, bb)
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/ai1015/pytracking/ltr/models/target_classifier/initializer.py", line 164, in forward
weights = self.filter_pool(feat, bb)
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/ai1015/pytracking/ltr/models/target_classifier/initializer.py", line 45, in forward
return self.prroi_pool(feat, roi1)
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/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/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 44, in forward
_prroi_pooling = _import_prroi_pooling()
File "/home/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 33, in _import_prroi_pooling
verbose=True
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 997, in load
keep_intermediates=keep_intermediates)
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1202, in _jit_compile
with_cuda=with_cuda)
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1300, in _write_ninja_file_and_build_library
error_prefix="Error building extension '{}'".format(name))
File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1555, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error building extension '_prroi_pooling'

my environment is GPU 4090, nvcc 10.1, torch 1.7.1+cu110.

I have learn about other issues about the errors.

theirs solutions involve changing the version of torch. But I have try torch 1.7.1 1.7.0 1.13.0 and so on. don't solve the problem.
Because of GPU 4090, my cuda must be 11.0 and higher version. If i try cuda 10.1, I will encounter another error message, CUDA error: no kernel image is available for execution on the device, which is regarding the mismatch between GPU and CUDA.

also, the other solution is about using git clone the PreciseRoIPooling. I have tried it and my code about PreciseRoIPooling is symbolic link.

from asking GPT about my error message, the key is nvcc fatal: Unsupported gpu architecture 'compute_86'.
I try some methods from internet solving the problem, it is useless.

I really don't know what is the problem and how to solve it. does anyone have the same problem and can give some advises? thank you very much.

Activity

  1. vacancy commented on Jan 26, 2024

    @vacancy
    Owner

    I don't have a 4090 at hand. But this seems to be an issue with the CUDA version. What's the CUDA version you are using? Can you try an update-to-date one? For example, 12.1?

  2. hhhyyyqqq commented on Jan 26, 2024

    @hhhyyyqqq
    Author

    I have tried CUDA 10.1 and 11.6. It is useless. I don't have permission to install CUDA 12.1.

  3. vacancy commented on Jan 26, 2024

    @vacancy
    Owner

    “My environment is GPU 4090, nvcc 10.1, torch 1.7.1+cu110.”

    Can you use nvcc 11.6 instead?

  4. hhhyyyqqq commented on Jan 26, 2024

    @hhhyyyqqq
    Author

    nvcc

    torch

    other error happens:

    /home/ai1015/anaconda3/envs/pytracking/bin/python /mnt/data/ai1015/pytracking/ltr/run_training.py dimp dimp18
    Training: dimp dimp18
    WARNING: You are using tensorboardX instead sis you have a too old pytorch version.
    No matching checkpoint file found
    Using /home/ai1015/.cache/torch_extensions as PyTorch extensions root...
    Detected CUDA files, patching ldflags
    Emitting ninja build file /home/ai1015/.cache/torch_extensions/_prroi_pooling/build.ninja...
    Training crashed at epoch 1
    Traceback for the error!
    Traceback (most recent call last):
    File "/mnt/data/ai1015/pytracking/ltr/trainers/base_trainer.py", line 70, in train
    self.train_epoch()
    File "/mnt/data/ai1015/pytracking/ltr/trainers/ltr_trainer.py", line 97, in train_epoch
    self.cycle_dataset(loader)
    File "/mnt/data/ai1015/pytracking/ltr/trainers/ltr_trainer.py", line 75, in cycle_dataset
    loss, stats = self.actor(data)
    File "/mnt/data/ai1015/pytracking/ltr/actors/tracking.py", line 28, in call
    test_proposals=data['test_proposals'])
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/tracking/dimpnet.py", line 60, in forward
    target_scores = self.classifier(train_feat_clf, test_feat_clf, train_bb, *args, **kwargs)
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py", line 57, in forward
    filter, filter_iter, losses = self.get_filter(train_feat, train_bb, *args, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py", line 94, in get_filter
    weights = self.filter_initializer(feat, bb)
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/initializer.py", line 164, in forward
    weights = self.filter_pool(feat, bb)
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/initializer.py", line 45, in forward
    return self.prroi_pool(feat, roi1)
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/prroi_pool.py", line 28, in forward
    return prroi_pool2d(features, rois, self.pooled_height, self.pooled_width, self.spatial_scale)
    File "/mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 44, in forward
    _prroi_pooling = _import_prroi_pooling()
    File "/mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 33, in _import_prroi_pooling
    verbose=True
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 997, in load
    keep_intermediates=keep_intermediates)
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1202, in _jit_compile
    with_cuda=with_cuda)
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1293, in _write_ninja_file_and_build_library
    with_cuda=with_cuda)
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1635, in _write_ninja_file_to_build_library
    cuda_flags = common_cflags + COMMON_NVCC_FLAGS + _get_cuda_arch_flags()
    File "/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1438, in _get_cuda_arch_flags
    raise ValueError("Unknown CUDA arch ({}) or GPU not supported".format(arch))
    ValueError: Unknown CUDA arch (8.9) or GPU not supported

  5. vacancy commented on Jan 26, 2024

    @vacancy
    Owner

    Ada Lovelace (CUDA 11.8 and later)
    SM89 or SM_89, compute_89 –
    NVIDIA GeForce RTX 4090, RTX 4080, RTX 6000 Ada, Tesla L40, L40s Ada, L4 Ada

    Unfortunately, you need at least 11.8 to compile CUDA kernels on 4090.

    https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/

  6. hhhyyyqqq commented on Jan 26, 2024

    @hhhyyyqqq
    Author

    OK, i will try it. thank you for your patience. If i can install CUDA11.8, i will immediately try it and provide feedback. thank you again.

  7. hhhyyyqqq commented on Jan 30, 2024

    @hhhyyyqqq
    Author

    when i use CUDA11.8, there is new error. (GPU 4090, python3.10)

    nvcc

    torch

    /home/ai1015/anaconda3/envs/pytracking_py310/bin/python /mnt/data/ai1015/pytracking/ltr/run_training.py dimp dimp18
    Training: dimp dimp18
    WARNING: You are using tensorboardX instead sis you have a too old pytorch version.
    No matching checkpoint file found
    Using /home/ai1015/.cache/torch_extensions/py310_cu118 as PyTorch extensions root...
    Detected CUDA files, patching ldflags
    Emitting ninja build file /home/ai1015/.cache/torch_extensions/py310_cu118/prroi_pooling/build.ninja...
    Building extension module prroi_pooling...
    Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
    [1/3] /usr/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking_py310/include/python3.10 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_BFLOAT16_CONVERSIONS
    -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 --compiler-options '-fPIC' -std=c++17 -c /mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
    FAILED: prroi_pooling_gpu_impl.cuda.o
    /usr/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking_py310/include/python3.10 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS -D__CUDA_NO_HALF_CONVERSIONS -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 --compiler-options '-fPIC' -std=c++17 -c /mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o
    nvcc fatal : Value 'c++17' is not defined for option 'std'
    [2/3] c++ -MMD -MF prroi_pooling_gpu.o.d -DTORCH_EXTENSION_NAME=_prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking_py310/include/python3.10 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++17 -c /mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu.c -o prroi_pooling_gpu.o
    ninja: build stopped: subcommand failed.
    Training crashed at epoch 1
    Traceback for the error!
    Traceback (most recent call last):
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1893, in _run_ninja_build
    subprocess.run(
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
    subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
    File "/mnt/data/ai1015/pytracking/ltr/trainers/base_trainer.py", line 70, in train
    self.train_epoch()
    File "/mnt/data/ai1015/pytracking/ltr/trainers/ltr_trainer.py", line 97, in train_epoch
    self.cycle_dataset(loader)
    File "/mnt/data/ai1015/pytracking/ltr/trainers/ltr_trainer.py", line 75, in cycle_dataset
    loss, stats = self.actor(data)
    File "/mnt/data/ai1015/pytracking/ltr/actors/tracking.py", line 25, in call
    target_scores, iou_pred = self.net(train_imgs=data['train_images'],
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/tracking/dimpnet.py", line 60, in forward
    target_scores = self.classifier(train_feat_clf, test_feat_clf, train_bb, *args, **kwargs)
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py", line 57, in forward
    filter, filter_iter, losses = self.get_filter(train_feat, train_bb, *args, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py", line 94, in get_filter
    weights = self.filter_initializer(feat, bb)
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/initializer.py", line 164, in forward
    weights = self.filter_pool(feat, bb)
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/models/target_classifier/initializer.py", line 45, in forward
    return self.prroi_pool(feat, roi1)
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File "/mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/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/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/autograd/function.py", line 506, in apply
    return super().apply(*args, **kwargs) # type: ignore[misc]
    File "/mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 44, in forward
    _prroi_pooling = _import_prroi_pooling()
    File "/mnt/data/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/functional.py", line 30, in _import_prroi_pooling
    _prroi_pooling = load_extension(
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1284, in load
    return _jit_compile(
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1509, in _jit_compile
    _write_ninja_file_and_build_library(
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1624, in _write_ninja_file_and_build_library
    _run_ninja_build(
    File "/home/ai1015/anaconda3/envs/pytracking_py310/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1909, in _run_ninja_build
    raise RuntimeError(message) from e
    RuntimeError: Error building extension '_prroi_pooling'

    what is the problem?

  8. vacancy commented on Jan 30, 2024

    @vacancy
    Owner

    nvcc fatal : Value 'c++17' is not defined for option 'std'

    Your g++ version is too low

  9. haohaoaaa66 commented on Jun 17, 2025

    @haohaoaaa66

    当我运行取决于精确消除的代码pytracking时,我会遇到错误。

    首先,我使用从Gitee的Git克隆来克隆库将其推向我的Ubuntus,然后检查代码是符号链接。但是我仍然遇到错误。显示错误消息后,我显示了我的环境如下。

    整个错误消息如下:

    /home/ai1015/anaconda3/envs/pytracking/bin/python/home/ai1015/pytracking/ltr/run_training.py dimp dimp dimp dimp18 培训:DIMP DIMP18 警告:您正在使用TensorboardX而不是SIS,您的Pytorch版本太旧了。 找不到匹配的检查点文件 使用/home/ai1015/.cache/torch_extensions作为pytorch扩展root ... 检测到的CUDA文件,修补LDFLAGS 发射忍者构建文件/home/ai1015/.cache/torch_extensions/prroi_pooling/build.ninja ... 建筑扩展模块prroi_pooling ... 允许忍者设置默认数量的工人...(通过设置环境变量max_jobs = n) [1/3] /usr/bin/nvcc -DTORCH_EXTENSION_NAME=prroi_pooling -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="gcc" -DPYBIND11_STDLIB="libstdcpp" -DPYBIND11_BUILD_ABI="cxxabi1011" -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking/include/python3.7m -d_glibcxx_use_cxxxx11_abi = 0 -d__cuda_no_half_operator -Expt-Relaxed-constexpr -gencode = Arch = Compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o 失败:prroi_pooling_gpu_impl.cuda.o /usr/bin/nvcc -dtorch_extension_name = prroi_pooling -dtorch_api_include_extension_h -dpybind11_compiler_type =“ gcc” -dpybind11_stdlib =“ libstdcpp” libstdcpp“ libstdcpp” -dpybind11_build_build_build_build_abi = /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/TH -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/THC -isystem /home/ai1015/anaconda3/envs/pytracking/include/python3.7m -d_glibcxx_use_cxxx11_abi = 0 -d__cuda_no_half_operator -Expt-Relaxed-constexpr -gencode = Arch = Compute_86,code=sm_86 --compiler-options '-fPIC' -std=c++14 -c /home/ai1015/pytracking/ltr/external/PreciseRoIPooling/pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu -o prroi_pooling_gpu_impl.cuda.o NVCC致命:不支持的GPU架构“ Compute_86” [2/3] C ++ -MMD -MF prroi_pooling_gpu.od -dtorch_extension_name = _prroi_pooling -dtorch_api_include_extsenion_extension_h-dpybind11_compiller_compiler_type = -dpybind11_build_abi =“ _ cxxabi1011” -isystem/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/site-packages/torch/torch/torch/include-ininclude-isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/include/TH -isystem /HOME/AI1015/ANACONDA3/envs/pytracking/lib/python3.7/site-packages/torch/torch/include/thc-isystem/home/home/ai1015/anaconda3/anaconda3/envs/pytracking/pytracking/pytracking/include/ininclude/ininclude/python3.7m-d_glibcccxxxxxxx33.7m -STD = C ++ 14 -C/HOME/AI1015/PYTRACKING/LTR/external/preciseroipooling/pytorch/prroi_pool/src/prroi_pooling_gpu。c -o prroi_pooling_gpu.o 忍者:构建停止:子命令失败。 训练在1时期坠毁 错误的追溯! Trackback(最近的最新电话): 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py.py”,第1539行,在_run_ninja_build env = env) 文件512,第512行 输出= stdout,stderr = stderr) subprocess.calledprocesserror:命令'['ninja','-v']'返回非零退出状态1。

    上述例外是以下例外的直接原因:

    Trackback(最近的最新电话): 文件“/home/ai1015/pytracking/ltr/trainers/base_trainer.py”,第70行,在火车中 self.train_epoch() 文件“/home/ai1015/pytracking/ltr/trainers/ltr_trainer.py”,第97行,在train_epoch中 self.cycle_dataset(加载程序) 文件“/home/ai1015/pytracking/ltr/trainers/ltr_trainer.py”,第75行,在Cycle_dataset中 损失,统计= self.actor(数据) 文件“ /home/ai1015/pytracking/ltr/actors/tracking.py”,第28行 test_proposals = data ['test_proposals']) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/torch/nn/modules/module.py.py”,第727行,in _call_impl 结果= self.forward(输入,* kwargs) 文件“/home/ai1015/pytracking/ltr/models/tracking/dimpnet.py”,第60行,向前 target_scores = self.classifier(train_feat_clf,test_feat_clf,train_bb, args,* kwargs) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/torch/nn/modules/module.py.py”,第727行,in _call_impl 结果= self.forward(输入,* kwargs) 文件“/home/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py”,第57行, 过滤器,滤镜_iter,损失= self.get_filter(train_feat,train_bb, args,* kwargs) 文件“/home/ai1015/pytracking/ltr/models/target_classifier/linear_filter.py”,第94行,在get_filter中 weights = self.filter_initializer(壮举,bb) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/torch/nn/modules/module.py.py”,第727行,in _call_impl 结果= self.forward(输入,* kwargs) 文件“/home/ai1015/pytracking/ltr/models/target_classifier/initializer.py”,第164行 weights = self.filter_pool(壮举,bb) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/torch/nn/modules/module.py.py”,第727行,in _call_impl 结果= self.forward(输入,* kwargs) 文件“/home/ai1015/pytracking/ltr/models/target_classifier/initializer.py”,第45行,在正向中 返回self.prroi_pool(壮举,ROI1) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/torch/nn/modules/module.py.py”,第727行,in _call_impl 结果= self.forward(输入,* kwargs) 文件“/home/ai1015/pytracking/ltr/external/preciseroipooling/pytorch/prroi_pool/prroi_pool/prroi_pool.py.py”,第28行, 返回prroi_pool2d(功能,rois,self.pooled_height,self.pooled_width,self.spatial_scale) 文件“/home/ai1015/pytracking/ltr/external/preciseroipooling/pytorch/prroi_pool/functional.py.py”,第44行 _prroi_pooling = _import_prroi_pooling() 文件“/home/ai1015/pytracking/ltr/external/preciseroipooling/pytorch/prroi_pool/functional.py.py”,第33行,在_import_prroi_pooling中 冗长= true 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py.py”,第997行, keep_intermediates = keep_intermediates) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py.py”,第1202行,in _jit_compile with_cuda = with_cuda) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py.py' error_prefix =“错误构建扩展'{}'”。格式(name)) 文件“/home/ai1015/anaconda3/envs/pytracking/lib/python3.7/site-packages/torch/utils/cpp_extension.py.py”,第1555行,在_run_ninja_build 从e提出RuntimeRor(消息) RuntimeError:错误构建扩展名'_prroi_pooling'

    我的环境是GPU 4090,NVCC 10.1,火炬1.7.1+CU110。

    我了解了有关错误的其他问题。

    他们的解决方案涉及更改火炬的版本。但是我尝试了火炬1.7.1 1.7.0 1.13.0,依此类推。不要解决问题。 由于GPU 4090,我的CUDA必须为11.0及更高版本。如果我尝试CUDA 10.1,我将遇到另一个错误消息,CUDA错误:没有内核图像可以在设备上执行,这与GPU和CUDA之间的不匹配有关。

    另外,另一个解决方案是关于使用git克隆进行精确的iPooling。我已经尝试过它,关于PreCeriPooling的代码是符号链接。

    从询问GPT我的错误消息,关键是NVCC致命:不支持的GPU架构“ Compute_86”。 我尝试了从互联网解决问题的一些方法,这是没有用的。

    我真的不知道有什么问题以及如何解决问题。有人有同样的问题并可以给出一些建议吗?非常感谢。

    请问您解决了没

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions