提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
由于上篇博客是在Virtualenv环境下安装tensorflow环境,这篇文章是补充在anaconda环境下安装tensorflow和pytorch环境。涉及到在同一台主机下,存在多个cuda版本,安装过程中的遇到一系列问题的解决方案。
`sudo dpkg -i cuda-repo-ubuntu1604-10-1-local-10.1.105-418.39_1.0-1_amd64.deb`
2. `sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
sudo apt-key add /var/cuda-repo-10-1-local-10.1.105-418.39/7fa2af80.pub
3. `sudo apt-get update`
4. `sudo apt-get install cuda``
5. sudo apt install cuda-toolkit-10-1 #只安装CUDA 10.1
sudo dpkg -i libcudnn7_7.6.3.30-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.3.30-1+cuda10.1_amd64.deb
sudo cp /usr/include/cudnn.h /usr/local/cuda-10.1/include
sudo cp /var/lib/dpkg/info/libcudnn* /usr/local/cuda-10.1/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-10.1/lib64/libcudnn*
sudo gedit ~/.bashrc
source ~/.bashrc
conda create -n <name> <python版本>
例如:
1)conda create -n tensorflow1.0.1 python=2.7
2)conda create -n pytorch python=3.7
conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch
conda activate pytorch
conda list
NVIDIA-SMI has failed because it couldn’t communicate with NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
显卡驱动找不到解决方案:
step1:sudo apt-get install dkms
step2: sudo dkms install -m nvidia -v 430.64
nvidia-smi
改为自己显卡版本号 查看方式 cd /usr/src 查看
特斯拉显卡版本 430.64
4.15.0-126-generic/x86_64
==亲测无效 ==
2. 方法2:
1)删除之前安装的nvidia驱动,运行 :
sudo apt-get purge nvidia-*
2) 添加第三方驱动源,运行
sudo add-apt-repository ppa:graphics-drivers/ppa
3)更新软件源:
sudo apt-get update
4.安装:
sudo apt-get install nvidia-430
sudo apt-get update
sudo apt-get upgrade
重新启动
==亲测有效 ==
1.卸载驱动
sudo apt-get purge nvidia*
2.查找可用的驱动版本
ubuntu-drivers devices
3.cat /proc/driver/nvidia/version
4.于是尝试安装430版本的驱动:
sudo apt-get install nvidia-driver-430 nvidia-settings nvidia-prime
ubuntu桌面->左下角九宫格->software & update->additional Drivers。
现在可用更改gpu驱动,我这里选择了nvidia-driver-430(可能尝试其他也可以)。
点击apply changes,然后安装结束重启,
终端输入:
nvidia-smi
sudo apt-get update
sudo apt-get install --reinstall libeigen3-dev
修改bashrc配置文件,根据自己的需求修改cuda版本。如果需要用到cunda9.0,就将bashrc配置文件中的cuda换成9.0,这样就能在同一台服务器中安装多版本cuda了。
nvidia-smi的结果显示CUDA版本是10.2,而从nvcc-V命令来看,却是CUDA 9.0。
其实是因为CUDA 有两种API,分别是 运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。
nvidia-smi 的结果除了有 GPU 驱动版本型号,还有 CUDA Driver API的型号,这里是 10.2。
而nvcc的结果是对应 CUDA Runtime API:
在安装CUDA 时候会安装3大组件,分别是 NVIDIA 驱动、toolkit 和 samples。NVIDIA 驱动是用来控制 GPU 硬件,toolkit 里面包括nvcc编译器等,samples或者说SDK 里面包括很多样例程序包括查询设备、带宽测试等等。上面说的 CUDA Driver API是依赖于 NVIDIA 驱动 安装的,而CUDA Runtime API 是通过CUDA toolkit 安装的。引用
解决办法参考如下