全部。我对库“spconv”很恼火。
我已经成功安装了 spconv,甚至用以下命令对其进行了测试:
(pointgroup) hsy@716-server3:/home/ubuntu/hdd1/hsy/One-Thing-One-Click/relation/lib/spconv/dist$ python
Python 3.7.11 (default, Jul 27 2021, 14:32:16)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import spconv
>>> exit()
效果很好。
但是,当我第二次尝试使用它时,它显示:
(pointgroup) hsy@716-server3:/home/ubuntu/hdd1/hsy/One-Thing-One-Click/3D-U-Net$ python
Python 3.7.11 (default, Jul 27 2021, 14:32:16)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import spconv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ubuntu/hdd1/hsy/One-Thing-One-Click/3D-U-Net/spconv/__init__.py", line 19, in <module>
from spconv import utils
File "/home/ubuntu/hdd1/hsy/One-Thing-One-Click/3D-U-Net/spconv/utils/__init__.py", line 16, in <module>
from spconv import spconv_utils
ImportError: cannot import name 'spconv_utils' from 'spconv' (/home/ubuntu/hdd1/hsy/One-Thing-One-Click/3D-U-Net/spconv/__init__.py)
>>>
怎么会发生这种事?你遇到过这个问题吗?我该如何解决?
https://github.com/traveller59/second.pytorch/issues/151#issuecomment-1002687904
只要按照他的指示操作就可以解决。 ^w^
spconv 和 cumm 库中版本不匹配错误的解决方案这至少是我的问题:
检查此链接中的警告部分,它将为您提供更多详细信息: https://github.com/traveller59/spconv
运行以下命令检查两个库是否已安装:
pip list | grep spconv
pip list | grep cumm
2- 识别版本不匹配:
如果您发现两个库都已安装但版本不匹配,请继续卸载这两个库。 使用以下命令卸载这两个库:
pip uninstall spconv
pip uninstall cumm
3- 使用适当的 CUDA 版本重新安装 spconv 库。使用以下命令,替换为您的特定 CUDA 版本:
pip install spconv-<cuda-version>
说明: 为什么检查版本:第一步有助于确定是否同时安装了 spconv 和 cumm,这一点至关重要,因为 cumm 与 spconv 相关。这些版本之间的不匹配可能会导致错误。
卸载两个库:仅卸载 spconv 并不能删除 cumm。因此,需要卸载这两个库以避免任何冲突。
重新安装 spconv:使用正确的 CUDA 版本安装 spconv 可确保兼容性并解决不匹配错误。
按照以下步骤,您可以解决版本冲突并确保 spconv 库的顺利运行。
补充说明: 确保您的系统上安装了正确的 CUDA 版本,该版本与您要安装的 spconv 版本兼容。