1、安装cuda9.0
方法1:安装cuda9.0
在Ubuntu16.04下安装CUDA的过程并不简单,小白即使看着官方文档也很容易出错,比如说安装CUDA8.0(在线安装)时,对着文档一步步安装下来都没有问题,在最后一条指令执行时:
你可能会猛然发现终端上显示安装的愕然都是CUDA10.0(也就是最新版本),等到安装结束,你再仔细一看,还确实是安装了10.0。于是就开始抓头自问“不对呀,我明明是照着文档安装下来的呀,怎么就变成10.0的了?!”
原来是安装CUDA的时候,版本自动帮你替换成了最新版(该怎么说呢?!!真是谢谢您了lol)。
解决办法,在上面那条指令后面加上版本号,完整指令就是(以安装CUDA9.0为例子):
sudo apt-get install cuda-9.0
下面回归正题:
卸载方法(图1)
sudo apt-get remove cuda
sudo apt autoremove
sudo apt-get remove cuda*
cd /usr/local/
dir
可能会看到一个"cuda"或者“cuda-10.0”文件夹,再或者两者都有。
输入指令删除残留的文件夹(以下指令以删除“cuda-10.0”文件夹为例)
方法2:安装cuda9.0
cudatoolkit下载网址:
https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal
选择版本:
NVIDIA-Linux-x86_64-410.73.run => cudatoolkit
cuda下载网址:
https://conda.anaconda.org/pytorch/linux-64
见图2(!!!注意除了不安装驱动,其他都yes!!!)
2、安装cudnn 7.5
网站:
https://developer.nvidia.com/rdp/cudnn-archive
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
3、pytorch & torchvision
https://pytorch.org/
pytorch
https://conda.anaconda.org/pytorch/linux-64
注:版本一定要与电脑中的cuda版本对应
以上下载完了之后,我发现我并没有讲pytorch安装在python3.6下,而是安装在了python3.5下。后来我又卸载了,用conda创建了python3.6的环境来安装的。
conda install yaml # 否则 在mmdection 的python setup.py install 会有 fatal error
用conda创建自己的虚拟环境,这样就不会出现安装串位。
conda create -n mmdetection python=3.6
激活环境
source activate mmdetection
安装PyTorch 1.1
conda install pytorch=1.1.0 torchvision cudatoolkit=9.0 -c pytorch
因为没有镜像源,所以,用外源下载的有点慢。。。
安装好以后,进入Python环境,输入以下代码测试是否安装成功,不报错则说明安装成功
import torch
import torchvision
print(torch.version)#输出PyTorch版本
4、Errors:
解决方法:
cd /home/njaudata/.local/lib/python3.6/site-packages/torch/ 目录下打开终端 ls
发现 _C.cpython-36m-x86_64-linux-gnu.so, _dl.cpython-36m-x86_64-linux-gnu.so两个so文件的文件名都太长了,需要进行修改。
采用cp 的方式复制两个文件:
/usr/local/lib/python3.5/dist-packages/torch/$ sudo cp _C.cpython-36m-x86_64-linux-gnu.so _C.so
/usr/local/lib/python3.5/dist-packages/torch/$ sudo cp _dl.cpython-36m-x86_64-linux-gnu.so _dl.so
结束后出现下图
https://blog.csdn.net/sparkexpert/article/details/77675581?locationNum=7&fps=1
这个博主写的很好。
libmkl_intel_lp64.so是一个动态链接库文件,系统找不到。
解决方法:
注:路径就是上一步搜索出来的路径。
更新环境变量配置文件并显示
$ source ./.bashrc
$ echo $LD_LIBRARY_PATH
注:如果更新不了的话,此处需要重起。
error3:
ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath’
numpy是一个基础的数组计算包,pytorch、Tensorflow、 tensorboard、Keras-Preprocessing、h5py、pandas等一系列常用的第三方库都需要numpy的支持。这里提示numpy.core._multiarray_umath failed to import和numpy.core.umath failed to import ,得知无法正常import tensorflow 的原因是numpy库的引用出了问题。
解决方法:
方法1:
pip install --user --upgrade numpy #将numpy更新到最新版本
方法2:
:1、 pip install --upgrade --force-reinstall numpy1.14.5 #重新安装合适的numpy版本
or
2、pip install numpy1.16
亲测1.14.5版本和1.16版本的numpy可以fix这个error。
5、 快捷键 tips:
conda虚拟环境:
conda create -n envname conda
激活虚拟环境:
source activate envname conda
退出虚拟环境:
source deactivate conda
列出所有虚拟环境:
conda env list conda
克隆虚拟环境:
conda create -n envname --clone evnname1 conda
删除虚拟环境:
conda remove -n envname --all conda
虚拟环境安装包:
conda install -n envname package,
例如:conda install -n envnam
查看python版本
方法一:
python -V
注意:‘-V‘中‘V’为大写字母,只有一个‘-’
方法二:
python --version
注意:‘–version’中有两个‘-’
查看python安装位置
方法一:
python -c “import sys; print sys.executable”
方法二:
python -c “import os; print os.sys.executable”
python -c “import os; path = os.sys.executable;folder=path[0 : path.rfind(os.sep)]; print folder”
查看Numpy版本
python -c “import numpy; print numpy.version.version”
或
python -c “import numpy; print numpy.version”
查看Numpy安装路径
python -c “import numpy; print numpy.file”