由于网络问题,直接采用conda install命令可能无法直接下载对应的cuda包。
方法一:采用pip命令替代
步骤1:切换pip的源为国内源:
若只是临时切换:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
若永久切换pip源:
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
若pip 默认源的网络连接较差,可以临时使用镜像站来升级 pip:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
临时切换和永久切换二选一即可。
步骤二:去pytorch官网下载
去官网选择对应的命令和cuda版本下载。
方法二:conda的pytorch官网
可以选择对应的版本:
单击即可下载。
本地下载安装这个包即可:
conda activate GSNet
conda install --use-local ~/Downloads/linux-64_pytorch-1.8.0-py3.7_cuda11.1_cudnn8.0.5_0.tar.bz2
这种方法不止针对pytorch其他方法也可以下载其他包也是在https://anaconda.org网址中查找。
可能出现的问题:
问题一:在import torch后:
>>> import torch
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/lu/anaconda3/envs/GSNet/lib/python3.7/site-packages/torch/__init__.py", line 195, in <module>
_load_global_deps()
File "/home/lu/anaconda3/envs/GSNet/lib/python3.7/site-packages/torch/__init__.py", line 148, in _load_global_deps
ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
File "/home/lu/anaconda3/envs/GSNet/lib/python3.7/ctypes/__init__.py", line 364, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
首先找到这个文件所在的位置:
locate libmkl_intel_lp64.so
然后放到.bashrc文件中去加入这一行:
export LD_LIBRARY_PATH=/home/lu/anaconda3/lib:$LD_LIBRARY_PATH
可能的原因是它会去LD_LIBRARY_PATH这个路径下找对应的so文件,如果找不到的话就没有。所以需要显式的指定这个路径。
问题二:
在命令行中成功运行后,在pycharm中运行可能也会存在问题。
pycharm似乎不会在LD_LIBRARY_PATH路径下查找对应的so文件,而是将其/usr/lib/,/usr/lib64/,/usr/local/lib64/。
解决方法是直接复制到/usr/lib/,/usr/lib64/,/usr/local/lib64/下。
cp /home/lu/anaconda3/lib/libmkl_intel_lp64.so /usr/lib/
cp /home/lu/anaconda3/lib/libmkl_intel_lp64.so /usr/lib64/
cp /home/lu/anaconda3/lib/libmkl_intel_lp64.so /usr/local/lib64/
然后即可成功运行。