ImportError: /home/zdk/CenterFusion-master/src/lib/model/networks/DCNv2/_ext.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _Z20dcn_v2_cuda_backwardRKN2at6TensorES2_S2_S2_S2_S2_iiiiiiiii
时间: 2023-08-10 22:07:10 浏览: 56
这个错误通常是由于 PyTorch 和 DCNv2 的 CUDA 版本不兼容导致的。你可以尝试以下几种解决方案:
1. 确认 PyTorch 和 DCNv2 的 CUDA 版本是否匹配,如果不匹配则需要重新编译 DCNv2。
2. 确认 DCNv2 是否正确地安装,可以尝试重新安装或者升级 DCNv2。
3. 确认是否正确设置了环境变量,包括 LD_LIBRARY_PATH 和 PATH 等。
4. 如果以上方案都不行,可以尝试降低 PyTorch 和 DCNv2 的版本或者使用其他的实现方式。
相关问题
ImportError: /usr/local/lib/python3.8/dist-packages/mmcv/_ext.cpython-38-x86_64-linux-gnu.so:
这个错误是一个ImportError,它指的是找不到一个名为"/usr/local/lib/python3.8/dist-packages/mmcv/_ext.cpython-38-x86_64-linux-gnu.so"的共享对象或动态链接库。具体的错误信息是"undefined symbol: Z27points_in_boxes_cpu_forwardN2at6TensorES0_S0"。
要解决这个问题,可以尝试使用ldd命令来查看"/usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-37m-arm-linux-gnueabihf.so"依赖的库。可以在终端中输入"ldd /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-37m-arm-linux-gnueabihf.so"来查看。
另外,你还可以参考一个博客文章,链接为https://forums.linuxmint.com/viewtopic.php?f=47&t=291157,在这篇文章中有可能会提供一些关于解决这个问题的有用信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [ImportError: /usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/_ext.cpython-38-x86_64-](https://blog.csdn.net/weixin_42130300/article/details/121616567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [报错[ImportError: /usr/lib/python3/dist-packages/PyQt5/QtCore.cpython-37m-arm-linux-gnuea]](https://blog.csdn.net/mmmm0584/article/details/119382032)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
ImportError: ./lib/nms/cpu_nms.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf
根据引用和引用中的信息,ImportError: ./lib/nms/cpu_nms.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf是由于缺少符号PyFPE_jbuf引起的。解决办法是在导入cpu_nms之前先导入torch,即先执行import torch,然后再执行import cpu_nms。
根据引用的信息,Python3.8在导入sqlite3时报错ImportError: No module named '_sqlite3'。这可能是由于缺少_sqlite3模块引起的。解决办法是安装Python的sqlite3模块。您可以尝试执行以下命令来安装sqlite3模块:pip install pysqlite3。
关于您提到的GPU架构不匹配的问题,根据引用的信息,您的工作站的GPU是GeForce RTX 2080 Ti,而Docker内的GPU是Tesla V100-SXM2-32GB。由于两者的架构不同(Turing和Volta),在安装MMCV时需要使用适当的架构参数。您可以尝试使用TORCH_CUDA_ARCH_LIST=7.0 pip install mmcv-full命令来安装适用于您的GPU架构的MMCV。
综上所述,对于ImportError: ./lib/nms/cpu_nms.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf的错误,您可以先导入torch再导入cpu_nms解决。对于ImportError: No module named '_sqlite3'的错误,您可以尝试安装pysqlite3模块来解决。对于GPU架构不匹配的问题,您可以使用适当的架构参数来安装MMCV。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>