Linux服务器安装cuda,cudnn,显卡驱动和pytorch超详细流程

原文链接:https://blog.csdn.net/kingfoulin/article/details/98872965

基本的环境

  1. 首先了解自己服务器的操作系统内核版本等信息:
    1. 查看自己操作系统的版本信息:cat /etc/issue或者是 cat /etc/lsb-release等命令

    2. 查看服务器显卡信息:

      1. lspci | grep -i nvidia查看全部显卡信息。
      2. nvidia-smi如果已经安装了对应的显卡驱动的话可以采用这个命令。
      3. cat /proc/driver/nvidia/version查看安装的显卡的驱动信息。


      显卡驱动的安装需要根据操作系统的版本进行选择。

多版本的gcc 和g++

gccg++是很多驱动安装过程中需要使用的编译器,很多时候由于编译器版本的不对应会使得安装出现很多莫民奇妙的错误,根据经验,现在的CUDA 10.1的话,也可以使用的是4.8,因此最好选择4.8-5.4之间的版本比较好,兼容一点。对于多版本的gccg++的安装进行详细的讲解:

  1. 查看自己的gccg++版本:gcc --version以及 g++ --version
  2. 安装新的或者安装多版本的gcc以及g++的流程:
    1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test首先加入一些更新的仓库,以便于更新。
    2. sudo apt-get update以及sudo apt get update对需要的软件包等进行必要的更新。
    3. sudo apt-get install gcc-4.9以及sudo apt-get install g++-4.9用于安装对应版本的gcc以及g++。注意自己需要的版本自己修改。
    4. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
      sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
      这两行用于将刚安装的gccg++类似于注册的操作加入到bin中,用于可选择操作。也就是说通过这个操作不断向系统注册新的gccg++版本。
    5. update-alternatives --config gcc
      update-alternatives --config g++用于对版本进行选择。进入之后根据提示完成选择即可。如果权限不够加 sudo
    6. 一般我们是使用4.8-5.4之间的版本编译器即可。如果还是出现错误的话,首选的操作应该是卸载显卡驱动重装显卡驱动。这个方法的成功率最高。

驱动安装

  如果需要安装显卡的话,需要先将旧版本的显卡驱动卸载:

  sudo apt-get remove --purge nvidia*

  此外,安装之前,需要先禁用一个东西。nouveau。
  sudo vim /etc/modprobe.d/blacklist.conf
  在文件的最后面加入以下的内容:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
  • 1
  • 2
  • 3
  • 4
  • 5

  检查操作是否成功:lsmod | grep nouveau没显示即成功。

  显卡驱动的安装比较简单,直接到官网进行对应的驱动的下载。点我下载

  注意在驱动的下载那里,操作系统的选择直接选择LInux-xbit即可,这个是可以搜索得到的,如果选择ubuntu16等搜不到。亲测直接搜索Linux 64-bit安装有效可用!

  将下载好的显卡驱动上传到服务器进行安装。

  sudo ./NVIDIA-Linux-x86_64-430.34.run采用该命令进行驱动的安装。安装完成之后,可以采用以下命令进行检查:

  nvidia-smi

CUDA安装以及cudnn安装

  CUDA是GPU进行计算的运算平台,根据需要安装对应版本的cuda。
这里需要注意的是,最好在安装显卡驱动的时候选择对应的 cuda版本,然后在安装cuda的时候的版本保持一致,虽然高版本的驱动可以兼容低版本的cuda

  1. 下载对应版本的cuda。cuda各个版本下载点我哦。由于这个网站的入口比较难找,大家最好保存起来哦。
    这是我自己下载的版本。将下载的版本也上传到服务器上进行安装。

    sudo sh cuda_10.0.130_410.48_linux.run安装方式可以百度一哈。

    安装过程中的选择项:
    1. nvidia accelerated graphics driver ,n 。因为我们已经安装过。
    2. 其他的都选yes。
    3. 软连接的建立。注意还有一个选项是软连接的建立,会在/usr/local/下面建立一个软连接cuda该软连接连接到安装的真正的cuda-10.0的地址。软连接的建立可以用于多个版本的cuda的管理。
      如图所示的,黄色的cuda是一个软连接,红色的是多个安装好的CUDA修改软连接就可以修改cuda的版本。
      这是安装完成之后的内容。安装完成之后,采用

nvcc -V对安装进行检查。



如果提示没有找到对应的命令的话,需要进行环境变量的配置。这里我们按照假设建立的cuda的软连接的方式进行配置:

sudo vim ~/.bashrc加入以下的内容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
  • 1
  • 2
  • 3

之后再使用nvidia-smi

  1. 多版本的CUDA管理。其实很简单,就是那个软连接的管理,例如我需要其他版本的cuda,由于我的环境比变量直接指向的是一个软连接,因此我可以删除旧的软连接再建立新的软连接的方式来实现不同版本的cuda的切换。
sudo rm -rf cuda # 删除旧版本的软连接
sudo ln -s /usr/local/cuda-9.1 /usr/local/cuda  # 建立新版本的软连接,前面的路径是需要的版本的cuda的安装路径。
  • 1
  • 2
  1. 安装对应的cudnn。根据cuda版本选择对应的cudnn进行安装。点我进行下载
    进去之后花花绿绿的什么鬼一大堆,如果采用安装的方式的话,需要每个版本的操作系统需要下载3个deb文件,就很烦。因此我们直接下载箭头对应的版本,改文件的后缀是cudnn-10.0-linux-x64-v7.3.0.29.solitairetheme8这种也是也是tgz。将下载来的文件进行解压即可。
cp  cudnn-10.0-linux-x64-v7.3.0.29.solitairetheme8 cudnn-10.0-linux-x64-v7.3.0.29.tgz # 换后缀
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz  # 解压
  • 1
  • 2

解压之后得到一个 cuda文件夹。采用如下的操作进行cudnn的安装。(这时候的cudnn要直接安装到对应的版本的cuda的真实的安装路径中。这样建立软连接的时候才会读到cudnn文件)

sudo cp cuda/include/cudnn.h    /usr/local/cuda-xx.x/include # 填写对应的版本的cuda路径
sudo cp cuda/lib64/libcudnn*    /usr/local/cuda-xx.x/lib64   # 填写对应的版本的cuda路径
sudo chmod a+r /usr/local/cuda-xx.xx/include/cudnn.h   /usr/local/cuda-xx.xx/lib64/libcudnn*
  • 1
  • 2
  • 3

如果喜欢采用deb的安装方式的,参见


以上流程如果走下来还是出错的话,建议重新卸载显卡驱动再来一次。




Anaconda了解和安装

采用Anaconda进行python环境的管理是一个很高效的解决方案。从仓库下载对应版本的软件进行安装。点我下载。

bash Anaconda3-5.0.1-Linux-x86_64.sh安装。安装过程需要同意将安装路径加入到环境变量的配置文件中。
source ~.bashrc使其生效。

  1. 建立自己新的环境 conda create-n your_name python=your_version
  2. 激活新的环境 source activate your_name

Pytorch安装

到pytorch官网下载对应版本的pytorch 即可。官网

根据生产的命令进行安装。安装完成之后测试:

python  # 进入python 环境
import torch  # 导入安装的pytorch包
torch.cuda.is_available()  # 检查cuda是否可以使用
  • 1
  • 2
  • 3

如果torch.cuda.is_available()如果输出是false,那就表示前面的驱动或者cuda的安装有问题,最可能的就是驱动。直接卸载重新安装显卡驱动即可解决问题。

                                </div><div data-report-view="{&quot;mod&quot;:&quot;1585297308_001&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/kingfoulin/article/details/98872965&quot;,&quot;extend1&quot;:&quot;pc&quot;,&quot;ab&quot;:&quot;new&quot;}"><div></div></div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet"></div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自训练:超越预训练,展现强大互补特性的上分新范式!

文 | 香侬科技编 | 兔子酱背景预训练&#xff08;Pre-training&#xff09;模型自BERT问世以来就一发不可收拾&#xff0c;目前已经在自然语言理解和生成两个方面取得了突破性成就。但是&#xff0c;作为它的一个“兄弟”&#xff0c;自训练&#xff08;Self-training&#xff…

论文浅尝 | 通过文本到文本神经问题生成的机器理解

论文笔记整理&#xff1a;程茜雅&#xff0c;东南大学硕士&#xff0c;研究方向&#xff1a;自然语言处理&#xff0c;知识图谱。Citation: Yuan X, WangT, Gulcehre C, et al. Machine comprehension by text-to-text neural question generation[J]. arXiv preprint arXiv:17…

安装paddlepaddle-GPU 报libcudnn.so和libcublas.so找不到的解决方案

第一步&#xff0c;查找两个的文件位置 第二步&#xff1a; 由于cudcun实在cuda10.0的基础上安装的&#xff0c;解压cudcnn的tar包之后会出现一个cuda-10.0文件夹&#xff0c;而不是cuda. 第三步&#xff1a; 在一步出现的位置找到了和libcublas.so.10对其进行了重命名就好了…

LeetCode 221. 最大正方形(DP)

文章目录1. 题目信息2. 解题1. 题目信息 在一个由 0 和 1 组成的二维矩阵内&#xff0c;找到只包含 1 的最大正方形&#xff0c;并返回其面积。 示例: 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problems/maximal-squ…

anaconda配置虚拟环境

一般是在服务器上&#xff0c;创建一个自己的虚拟环境&#xff0c;自己来用&#xff0c;不影响别人的环境&#xff0c;也不用被别人安装环境影响。 打开终端 1.查看当前存在哪些虚拟环境 conda env list 或 conda info -e 2.创建名字为 lly_env 的虚拟环境(名字自己取一个&am…

论文浅尝 | 知识图谱推理中表示学习和规则挖掘的迭代学习方法

作者&#xff1a;张文&#xff0c;浙江大学在读博士&#xff0c;研究方向为知识图谱的表示学习&#xff0c;推理和可解释。本文是我们与苏黎世大学以及阿里巴巴合作的工作&#xff0c;发表于WWW2019&#xff0c;这篇工作将知识图谱推理的两种典型方法&#xff0c;即表示学习和规…

21个深度学习调参的实用技巧

文 | AI_study源 | AI算法与图像处理导读在学习人工智能的时候&#xff0c;不管是机器学习还是深度学习都需要经历一个调参的过程&#xff0c;参数的好坏直接影响着模型效果的好坏。本文总结了在深度学习中21个实用的调参的技巧&#xff0c;快来学习吧&#xff01;这篇文章在国…

从Java程序员进阶为架构师,全套16张图概括最全技能!建议收藏!

如何从程序员进阶到架构师&#xff1f;今天完整的把我积累的经验和技能分享给大家&#xff01; 作者&#xff1a;陈睿|优知学院创始人 数据结构算法程序 数据是一切能输入到计算机的信息总和&#xff0c;结构是指数据之间的关系&#xff0c;数据结构就是将数据及其之间的关系有…

Python 爬虫系列教程一爬取批量百度图片

原文地址&#xff1a;https://blog.csdn.net/qq_40774175/article/details/81273198 很久之前就学习了Python的爬虫了&#xff0c;也用来做过一些项目&#xff08;主要是一些课程项目&#xff09;&#xff0c;但时间比较紧&#xff0c;一直没有空把它写下来&#xff0c;这个暑假…

论文浅尝 | 利用知识图谱嵌入和图卷积网络进行长尾关系抽取

论文笔记整理&#xff1a;王狄烽&#xff0c;南京大学硕士&#xff0c;研究方向为关系抽取、知识库补全。链接&#xff1a;https://arxiv.org/pdf/1903.01306.pdf发表会议&#xff1a;NAACL2019动机现有的利用远程监督进行实体关系抽取的方法大多关注于如何对训练数据进行降噪&…

人脑是怎么防止梯度消失和梯度爆炸的?

文 | 极市平台源 | 知乎问答导读梯度消失和梯度爆炸一直是深度学习的难点&#xff0c;而人脑有接近900亿个神经元&#xff0c;可以说是一个非常规模庞大的网络。那么人脑是如何防止梯度消失和梯度爆炸的&#xff1f;观点一作者丨冒蓝火的加特林感觉这个问题跟我的科研方向有一点…

史上最全java架构师技能图谱(下)

“java架构史上最全技能图谱分为上下两篇&#xff0c;这是java架构史上最全图谱下篇&#xff0c;包含&#xff1a; 大数据以及性能、设计模式、UML、中间件、分布式集群、负载均衡、通讯协议、架构设计等技术图谱等章节。 如果需要上篇内容&#xff1a;数结构算法、java进阶、…

Git基本指令

一、创建本地仓库进行版本控制 在工作区 local_repository 新建readme.txt文件&#xff1a; git init &#xff1a;初始化一个空的本地仓库&#xff0c;并在本地仓库生成了.git 文件git add readme.txt &#xff1a;将文件放到暂存区&#xff0c;表示这个文件受git管理git co…

LeetCode 21. 合并两个有序链表(单链表)

文章目录1. 题目信息2. 解题1. 题目信息 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例&#xff1a;输入&#xff1a;1->2->4, 1->3->4 输出&#xff1a;1->1->2->3->4->4来源&#xff1a…

一文读懂最强中文NLP预训练模型ERNIE

基于飞桨开源的持续学习的语义理解框架ERNIE 2.0&#xff0c;及基于此框架的ERNIE 2.0预训练模型&#xff0c;在共计16个中英文任务上超越了BERT和XLNet, 取得了SOTA效果。本文带你进一步深入了解ERNIE的技术细节。 一&#xff1a;ERNIE 简介 1.1 简介 Google 最近提出的 BER…

BERT原理、代码、相关模型、精调技巧,看这个就够了

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术2018 年 10 月&#xff0c;由 Google 推出的 BERT 模型一鸣惊人&#xff0c;刷爆了各路榜单&#xff0c;甚至超越了人类基线分数&#xff0c;实现了 NLP 领域里程碑式的突破。 如今&#xff0c;对于 NLP 算法…

论文浅尝 | 利用 KG Embedding 进行问题回答

论文笔记整理&#xff1a;吴杨&#xff0c;浙江大学计算机学院&#xff0c;知识图谱、NLP方向。http://research.baidu.com/Public/uploads/5c1c9a58317b3.pdf动机本文主要针对基于知识库的问题回答中的简单问题&#xff0c;也就是问题的答案只涉及KG中的一跳&#xff0c;此类问…

想成为阿里160万年薪的P8架构师?你必须掌握如下6大技能体系!

程序设计和开发 数据结构和算法&#xff1a;常用数据结构&#xff0c;排序&#xff0c;检索等 面向对象编程、设计模式&#xff0c;掌握建模语言和建模工具&#xff1a;UML、MVC编程思想 高质量编码能力&#xff1a;重用性&#xff0c;低耦合&#xff0c;可扩展性&#xff0c…

技术动态 | 知识图谱的策展

作者&#xff1a;Jiaoyan Chen, Senior Researcher, Department of Computer Science, University of Oxford, Research interests: Knowledge Base, Knowledge-based Learning, Machine Learning Explanation.知识图谱在众多的领域中发挥了重要作用&#xff0c;比如聊天机器人…

21届校招薪资曝光:严重倒挂老员工!

源 | 量子位一开始&#xff0c;还以为是科技互联网公司招聘的新把式。因为就在最近&#xff0c;一张美团应届生薪资的截图&#xff0c;在各大社区和校招群里火了。仅仅算法岗、开发岗的薪资白菜价&#xff0c;就有27k15.5&#xff0c;算下来&#xff0c;年薪就有41万。虽然这两…