当前位置: 首页 > news >正文

Ubuntu22.04深度学习环境安装【cuda+cudnn】

为了复现一篇深度学习论文,特意安装了Linux系统。前一天已经安装Linux显卡驱动,现在需要安装cuda、cudnn等。

论文代码
论文PDF
确定包版本:
根据论文提供的代码。在requirements.txt中发现cuda版本为11.7,cudnn为8.5.0,python没有指定,默认使用3.8版本,pytorch2.0.1。接下来就分别安装这些包:
在这里插入图片描述

一、安装cuda

  1. 下载cuda11.7安装程序
    cuda历史版本官网:cuda下载
    在这里插入图片描述
    输入以下命令下载cuda11.7:

    wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run
    
  2. 运行cuda11.7安装程序:

    sudo sh cuda_11.7.1_515.65.01_linux.run
    
  3. 解决报错
    报错信息如下:
    在这里插入图片描述
    查看报错日志文件:

    gedit /var/log/cuda-installer.log
    

    在这里插入图片描述
    发现是可能是gcc版本过高,可以看我之前的博客:切换gcc版本
    查看当前gcc版本和优先级:

    sudo update-alternatives --config gcc
    

    在这里插入图片描述
    修改gcc-11优先级:

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 102
    

    在这里插入图片描述

  4. 继续运行cuda11.7安装程序:

    sudo sh cuda_11.7.1_515.65.01_linux.run
    

    选择accept
    在这里插入图片描述
    取消驱动安装(空格取消),因为已经安装好了驱动了。
    在这里插入图片描述
    以下表示安装完成:
    在这里插入图片描述
    此时输入nvcc --version不能查看版本,因为没有配置环境变量

  5. 配置环境变量

    gedit ~/.bashrc
    

    打开的文件:
    在这里插入图片描述
    在文件末尾添加并保存以下内容:(注意cuda版本要一致)

    export PATH=/usr/local/cuda-11.7/bin:${PATH}
    export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:${LD_LIBRARY_PATH}
    

    终端输入:

    source ~/.bashrc
    
  6. 验证cuda环境变量

    nvcc --version
    

    在这里插入图片描述

二、安装cudnn

  1. 下载cudnn文件(需要登陆Nvidia账号)
    官网:cudnn下载
    在这里插入图片描述
    因为要复现的论文使用cudnn8.5.0版本,所以就选择这个版本了。

    在这里插入图片描述

  2. 解压文件

    tar -xvf cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
    
  3. 将cudnn文件复制到cudn文件中

    cd cudnn-linux-x86_64-8.5.0.96_cuda11-archive/
    sudo cp include/cudnn.h /usr/local/cuda-11.7/include
    sudo cp lib/libcudnn* /usr/local/cuda-11.7/lib64
    sudo chmod a+r /usr/local/cuda-11.7/include/cudnn.h /usr/local/cuda-11.7/lib64/libcudnn*
    
http://www.lryc.cn/news/500952.html

相关文章:

  • go语言的sdk项目搭建与git 操作标签tag并推送至远程仓库
  • 从零用java实现 小红书 springboot vue uniapp (1)
  • Python爬虫——HTML中Xpath定位
  • 电脑无法识别usb设备怎么办?电脑无法识别usb解决方法
  • 思特奇政·企数智化产品服务平台正式发布,助力运营商政企数智能力跃迁
  • 【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之前端环境搭建
  • 手写Mybatis框架源码(简写)
  • Flask返回中文Unicode编码(乱码)解决方案
  • 最大值和最小值的差
  • 如何在 IntelliJ IDEA 中为 Spring Boot 应用实现热部署
  • 探索 Java 中的 Bug 世界
  • SQL面试题——百度SQL面试题 连续签到领金币
  • easyExcel单一下拉框和级联下拉框
  • linux-安全-iptables防火墙基础笔记
  • 力扣刷题TOP101: 25.BM32合并二叉树
  • R的中文文本处理包--tmcn
  • 差异基因富集分析(R语言——GOKEGGGSEA)
  • scrapy对接rabbitmq的时候使用post请求
  • vue+elementUI+transition实现鼠标滑过div展开内容,鼠标划出收起内容,加防抖功能
  • 大模型语料库的构建过程 包括知识图谱构建 垂直知识图谱构建 输入到sql构建 输入到cypher构建 通过智能体管理数据生产组件
  • 阿里云ECS服务器域名解析
  • 牛客周赛71:A:JAVA
  • 查询产品所涉及的表有(product、product_admin_mapping)
  • 算法基础学习Day5(双指针、动态窗口)
  • docker 部署 mysql 9.0.1
  • 关于小标join大表,操作不当会导致笛卡尔积,数据倾斜
  • SpringMVC全局异常处理
  • 出海服务器可以用国内云防护吗
  • 从零开始的使用SpringBoot和WebSocket打造实时共享文档应用
  • Ant Design Pro实战--day01