安装过程
-
首先从github上克隆源码
git clone https://github.com/ClementPinard/Pytorch-Correlation-extension.git
注意:如果你已经克隆过源码并运行过setup.py了,那么一定要重新克隆源码,确保Pytorch-Correlation-extension文件夹下不存在build文件夹(即没有运行过setup.py进行build)。
其次如果你之前已经安装过spatial-correlation-sampler,请运行pip uninstall spatial-correlation-sampler
将其卸载。 -
然后打开
Pytorch-Correlation-extension/Correlation_Module/spatial_correlation_sampler/spatial_correlation_sampler.py
文件并在文件首行添加import torch
-
然后运行安装指令
安装前要进入克隆的文件夹中。cd Pytorch-Correlation_extension python setup.py
-
然后在python中尝试运行以下指令检查是否安装成功:
import torch from spatial_correlation_sampler import SpatialCorrelationSampler from spatial_correlation_sampler import spatial_correlation_sample
问题说明
如果你没有执行上述教程的第二部操作,那么应该会遇到和下面类似的错误:
File “/home/anaconda3/envs/myenv/lib/python3.9/site-packages/spatial_correlation_sampler-0.4.0-py3.9-linux-x86_64.egg/spatial_correlation_sampler/spatial_correlation_sampler.py”, line 6, in <module>
import spatial_correlation_sampler_backend as correlation
ImportError: /home/anaconda3/envs/myenv/lib/python3.9/site-packages/spatial_correlation_sampler-0.4.0-py3.9-linux-x86_64.egg/spatial_correlation_sampler_backend.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZNK2at6Tensor7optionsEv
出现该问题的原因:
pytorch官方说明
在引入使用c++写的pytorch扩展时,需要在import extension
之前先引入import torch