Repository navigation
Error building extension '_prroi_pooling' #82
Description
Activity
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?
I have tried CUDA 10.1 and 11.6. It is useless. I don't have permission to install CUDA 12.1.
“My environment is GPU 4090, nvcc 10.1, torch 1.7.1+cu110.”
Can you use nvcc 11.6 instead?
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 supportedAda 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 AdaUnfortunately, 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/
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.
when i use CUDA11.8, there is new error. (GPU 4090, python3.10)
/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?
nvcc fatal : Value 'c++17' is not defined for option 'std'
Your g++ version is too low
当我运行取决于精确消除的代码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”。 我尝试了从互联网解决问题的一些方法,这是没有用的。
我真的不知道有什么问题以及如何解决问题。有人有同样的问题并可以给出一些建议吗?非常感谢。
请问您解决了没




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.