Ubuntu20.04安装Cuda10.1+cuDNN10.1+Anaconda(Python3.8建议安装3.7)+Keras2.3.1+tensorflow2.2.0+Pycharm(最新版)

一、准备工作----检查自己的电脑是否具备安装CUDA的条件
0.安装显卡驱动
在命令行中输入nvidia-smi命令,查看支持的cuda版本
如果有驱动显示以下信息:
在这里插入图片描述如果无法查看,则说明尚未安装nvidia驱动,点击附加驱动,选择对应版本的驱动即可自动下载。在软件和更新软件中,选择附加驱动选择对应版本进行安装。
在这里插入图片描述参考ubuntu—CUDA版本与NVIDIA显卡驱动版本对应关系查询

在这里插入图片描述
1.验证自己的电脑是否有一个可以支持CUDA的GPU
在ubuntu的终端中输入命令: lspci | grep -i nvidia ,会显示出你的NVIDIA GPU版本信息,不过不是很详细。
我的显示为:

(base) hpc@dell:/usr/local/cuda-10.1/extras/CUPTI/lib64$  lspci | grep -i nvidia
3b:00.0 3D controller: NVIDIA Corporation GP108GLM [Quadro P520] (rev a1)

2.验证自己的Linux版本是否支持 CUDA(Ubuntu 20.04没问题)
输入命令: uname -m && cat /etc/*release
结果显示:

(base) hpc@dell:/usr/local/cuda-10.1/extras/CUPTI/lib64$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

3.验证系统是否安装了gcc
在终端输入:gcc --version
若未安装请使用下列命令进行安装:sudo apt-get install build-essential

安装cuda10.1能否成功的关键在此:由于Ubuntu20.04系统自带的gcc版本为gcc 9.3.0,而cuda10.1不支持gcc-9,命令如下:sudo apt-get install gcc-7 g++-7
安装完gcc-7,系统中就存在两个版本的gcc,因此要设置默认的gcc,命令如下:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
此命令可以通过update-alternatives设置gcc各版本的优先级,优先级最高的为系统默认版本,可以用下述命令显示其优先级:sudo update-alternatives --display gcc
4.验证系统是否安装了kernel header和 package development
1).查看正在运行的系统内核版本
在终端中输入:uname -r
结果显示:

(base) hpc@dell:/usr/local/cuda-10.1/extras/CUPTI/lib64$ uname -r
5.4.0-58-generic

2).在终端中输入: sudo apt-get install linux-headers-$(uname -r)
可以安装对应kernel版本的kernel header和package development.
结果显示:

(base) hpc@dell:/usr/local/cuda-10.1/extras/CUPTI/lib64$ sudo apt-get install linux-headers-$(uname -r)
[sudo] hpc 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
linux-headers-5.4.0-58-generic 已经是最新版 (5.4.0-58.64)。
下列软件包是自动安装的并且现在不需要了:
  cuda-11-1 cuda-command-line-tools-11-1 cuda-compiler-11-1 cuda-cudart-11-1 cuda-cudart-dev-11-1 cuda-cuobjdump-11-1 cuda-cupti-11-1 cuda-cupti-dev-11-1 cuda-demo-suite-11-1 cuda-documentation-11-1
  cuda-driver-dev-11-1 cuda-gdb-11-1 cuda-libraries-11-1 cuda-libraries-dev-11-1 cuda-memcheck-11-1 cuda-nsight-11-1 cuda-nsight-compute-11-1 cuda-nsight-systems-11-1 cuda-nvcc-11-1 cuda-nvdisasm-11-1
  cuda-nvml-dev-11-1 cuda-nvprof-11-1 cuda-nvprune-11-1 cuda-nvrtc-11-1 cuda-nvrtc-dev-11-1 cuda-nvtx-11-1 cuda-nvvp-11-1 cuda-runtime-11-1 cuda-samples-11-1 cuda-sanitizer-11-1 cuda-toolkit-11-1
  cuda-tools-11-1 cuda-visual-tools-11-1 libcublas-11-1 libcublas-dev-11-1 libcufft-11-1 libcufft-dev-11-1 libcurand-11-1 libcurand-dev-11-1 libcusolver-11-1 libcusolver-dev-11-1 libcusparse-11-1
  libcusparse-dev-11-1 libfprint-2-tod1 libnpp-11-1 libnpp-dev-11-1 libnvidia-common-450 libnvjpeg-11-1 libnvjpeg-dev-11-1 nsight-compute-2020.2.0 nsight-systems-2020.3.4
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 21 个软件包未被升级。

表示系统里已经有了,不用重复安装。
二、安装CUDA 10.1
     正常情况下,我们进入CUDA官网后,根据提示,选择你所对应的Ubuntu版本所对应的CUDA即可,我起初安装了CUDA11.1,但是在安装后续tensorflow和Keras版本出现了不兼容现象,所以在此处会安装CUDA10.1。
CUDA Tookkit 10.1 下载地址
在这里插入图片描述
Installation Instructions:
sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.105-418.39_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
:此处的第二条命令中的会在运行完第一条命令中的末尾出现。除此之外,安装过程中,可能会出现需要设置一个八位的密码。出现Rebbot your computer and Verify that the NVIDIA graphics driver can be loaded. 则证明安装成功。需要进行重启。

添加环境变量:vi ~/.bashrc
在文件后面加上:export PATH="/usr/local/cuda-11.1/bin:$PATH" ,最后source ~/.bashrc
在命令行中输入:nvcc -V

(base) hpc@dell:/usr/local/cuda-10.1/extras/CUPTI/lib64$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168

出现这些信息则证明安装成功了。

在命令行中输入nvidia-smi 会报错:NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver.
采用这个方法解决了:
重启电脑,期间一直不停的按F2,进入界面,找到secure.boot ,将后面的enable改成disable,之后按F10保存。

三、安装cuDNN 10.1
     这里下载cuDNN时需要进行简单的注册才可以下在你所需要的文件。在这里我们选择 cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1中的cuDNN Library for Linux(x86_64)
在这里插入图片描述将cudnn-11.1-linux-x64-v8.0.5.39.tgz解压缩后文件中的lib64文件的路径添加到 ~/.bashrc中。

command: vi ~/.bashrc
在.bashrc文件的结尾添加:
export LD_LIBRARY_PATH="/home/hpc/test/cudnn-10.1-linux-x64-v7.6.5.32/cuda/lib64:$LD_LIBRARY_PATH"
在命令行中输入:source ~/.bashrc

四、安装Anaconda
     我安装了Anaconda中自带了Python3.8,根据后面需要安装的Keras2.3.1+TensorFlow2.2.0,经过查找(https://docs.floydhub.com/guides/environments/)知道匹配的应该是Python3.7。

https://www.tensorflow.org/install/source_windows#cpu
在这里插入图片描述
Anaconda最新版本下载链接
在这里插入图片描述

Anaconda以前版本的下载链接
在这里插入图片描述在这里我安装了Anaconda(Linux x86 Python3.8的版本),推荐大家安装Anaconda(Linux x86 Python3.7的版本)。
Anaconda Python 版本对应关系表(附所有版本下载)

command
chmod +x ./Anaconda3-2020.11-Linux-x86_64.sh
./Anaconda3-2020.11-Linux-x86_64.sh
按回车,然后在出现Do you accept the license terms?[yes|no]时,输入yes即可。
选择安装的位置,在命令行中输入:/home/hpc/conda
Do you wish the installer to initialize Anaconda3 by running conda init?[yes|no],输入yes即可。
需要重新打开一个窗口(ctrl+alt+t)调用conda 命令。输入: conda即可。
验证命令:应当确保所有的信息均是指向conda中的软件:

hpc@dell:~$ which conda
/home/hpc/conda/bin/conda
hpc@dell:~$ which python
/home/hpc/conda/bin/python
hpc@dell:~$ which ipython
/home/hpc/conda/bin/ipython
hpc@dell:~$ which pip
/home/hpc/conda/bin/pip

五、安装tensorflow2.2.0
     在命令行中输入:pip install tensorflow-gpu==2.2.0
     至此相当于tensorflow环境搭建完成了,我们可以使用下面的命令来进行验证。
在这里插入图片描述
六、安装Kears2.3.1
     Keras是一个高层神经网络API,Keras由纯Python编写而成并基于Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:

    简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
    支持CNN和RNN,或二者的结合
    无缝CPU和GPU切换 

(1)Keras的设计原则
  a) 用户友好:Keras是为人类设计而不是为其他设计的API。用户的使用体验始终是我们考虑的首要和中心内容。Keras遵循减少认知困难的最佳实践:Keras提供一致而简洁的API,能够极大减少一般应用下用户的工作量,同时,Keras提供清晰和具有实践意义的bug反馈。
  b)模块性:模型可理解为一个层的序列或者数据的运算图,完全可配置的模块可以用最少的代价自由组合在一起。具体而言,网络层,损失函数,优化器,初始化策略,激活函数,正则化方法都是独立的模块,你可以使用它们来构建自己的模型。
  c)易扩展性:添加新模块超级容易,只需要仿照现有的模块编写新的类或者函数即可,创建新模块的便利性使得Keras更适合于先进的研究工作。
  d)与Python协作:Keras没有单独的模型配置文件类型(作为对比,caffe有),模型由Python代码描述,使其更紧凑和更以Debug,并提供了扩展的便利性。
(2)具体的安装命令
     在命令行中输入:pip install keras==2.3.1

七、安装Pycharm最新版
Pycharm下载链接
     点击download,并选择community版本安装
在这里插入图片描述在这里插入图片描述command
解压缩pycharm-community-2020.3.1.tar.gz到当前目录,进入bin目录后,运行 ./pycharm.sh ,会出现Pycharm的图形化界面。

验证命令:
在这里插入图片描述设置Python Interpreter的路径,应当保证是Anaconda的python3.8的安装地址。
在这里插入图片描述
在这里插入图片描述
八、安装中所遇到的问题
1.安装Pycharm桌面快捷方式
     为了方便使用,我们生成了一个桌面快捷方式:vi pycharm.desktop
https://blog.csdn.net/lpl_lpl_lpl/article/details/80869322?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.not_use_machine_learn_pai
具体的代码如下:

Desktop Entry]
Version=1.0
Name=pycharm-2018.3.4
Comment=Python
Icon=/home/hpc/test/pycharm-community-2020.3.1/bin/pycharm.png
Exec=sh /home/hpc/test/pycharm-community-2020.3.1/bin/pycharm.sh
Terminal=false
StartupNotify=true
Type=Application
StartupNotify=true
Categories=Application;
Development;

2.安装多版本的CUDA
多版本CUDA安装教程
     由于我最初安装了CUDA11.1,后来在安装tensorflow和Keras时,发现需要cuda10.1中的库,所以开始安装了多版本的CUDA版本,与CUDA11.1版本安装方式有所不同的是,最后不能写sudo apt-get install cuda,因为在默认情况下,会默认安装最新版本的CUDA,所以应当指明具体的安装版本:sudo apt-get install cuda=10.1.168-1
     其中,查看目前系统所存在的CUDA版本:apt-cache madison cuda
在这里插入图片描述
3.手动安装所需要的驱动
sudo apt install nvidia-driver-440
4.解决环境变量无法实时更新到Pycharm中
     命令行可以运行时,但Pycharm中仍然无法进行GPU的运算时,提示Could not load dynamic library 'libcudnn.so.7。则需要在Pycharm中手动添加环境变量(run->Edit configuration->Environment variables),将cuDNN和CUDA10.1中的lib64目录加载到环境变量中。

LD_LIBRARY_PATH=/home/hpc/test/cudnn-10.1-linux-x64-v7.6.5.32/cuda/lib64;PYTHONUNBUFFERED=1

在这里插入图片描述
九、显卡驱动的安装与卸载
1.查看显卡驱动版本:cat /proc/driver/nvidia/version
2.查看内核版本:uname -r
3.解决方法
   1).直接安装显卡驱动版本所对应的驱动,从未安装成功过
在这里插入图片描述
   在这之前需要卸载原来的驱动版本:sudo apt-get remove nvidia-*
然后将下载的驱动版本进行安装:

chmod a+x NVIDIA-Linux-x86_64-510.54.run 
sudo ./NVIDIA-Linux-x86_64-510.54.run 

   2).在可以联网的情况下,直接使用deb的方式安装cuda即可,则可安装上对应版本的显卡驱动
CUDA版本的选择
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

需要注意的是在进行最后一步,可能会出现如下的报错:
在这里插入图片描述
即:连ubuntu服务器下载需要的包,下不下来
相应的解决办法是替换成阿里云镜像,参考如下链接进行处理。
a.备份Ubuntu默认的源地址

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

b.在桌面上新建一个文件名为sources.list的文件,并进行相应的替换处理,复制上面任一镜像原内容至文件中,保存即可。
aliyun镜像
18.04

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse    

20.04

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
sudo touch sources.list
cd /etc/apt
sudo cp ../../home/pc/Desktop/sources.list ./

c.更换好源之后执行下面命令更新:

sudo apt-get update

如何来进行cuda的卸载呢?可使用该命令:sudo apt-get remove --purge cuda

十、在centos服务器上实现驱动的卸载与重装

1.首先先对原来的驱动残留进行卸载
(1).查看安装的nvidia模块命令rpm -qa|grep -i nvid|sort
(2).删除相关模块yum remove kmod-nvidia-*
(3).完全卸载nvidia驱动yum remove "*nvidia*"
(4).完全卸载CUDA TOOLKITyum remove "*cublas*" "cuda*"
2.安装最新版本的cuda,同时可自动安装上显卡驱动
在这里插入图片描述
相关的代码:

wget https://developer.download.nvidia.com/compute/cuda/11.0.1/local_installers/cuda-repo-rhel7-11-0-local-11.0.1_450.36.06-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-11-0-local-11.0.1_450.36.06-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms cuda
sudo yum -y install cuda-drivers

安装成功后的界面:
在这里插入图片描述
(3).如何解决nvcc:command not found
参考链接:https://blog.csdn.net/weixin_44750512/article/details/123156020

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
glibc2.3.1是GNU C Library的一个版本,是一个开源的C库,用于支持基于Linux系统的应用程序。它提供了许多功能和工具,使开发者能够编写高性能和可靠的应用程序。 首先,glibc2.3.1提供了丰富的API,可以用于处理文件、内存、进程、线程等操作。开发者可以使用这些API来编写应用程序,并与操作系统进行交互。此外,glibc2.3.1还提供了各种数据结构和算法的实现,以及对网络编程和多线程编程的支持,使开发者能够轻松地编写复杂的应用程序。 其次,glibc2.3.1还提供了对国际化和本地化的支持。开发者可以使用glibc的国际化功能来处理不同语言和地区的字符集、日期、时间等,以便确保应用程序在全球范围内能够正确地运行。 此外,glibc2.3.1还提供了一些安全性的功能,如缓冲区溢出的防护机制和堆栈隔离等。这些功能有助于开发者编写更加安全的应用程序,防止恶意代码的利用。 最后,glibc2.3.1是一个开源项目,可以免费使用和修改。这意味着开发者可以根据自己的需求对其进行定制,并贡献自己的改进和修复。这也使得glibc2.3.1成为开发者们在Linux系统上进行应用程序开发的首选库之一。 总之,glibc2.3.1是一个功能强大、可靠性高的C库,提供了广泛的API和功能,用于支持Linux系统上的应用程序开发。它的存在使得开发者能够更加轻松地编写高性能、可靠和安全的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值