ubuntu18.04安装显卡RTX3090(python3.8+nvidia Drive455.38+cuda11.1+cudnn7+pytorch1.7+torchvision0.8)

2023-05-16

引言

实验室服务器是Ubuntu18.04(16.04和20.04),刚刚显卡升级到RTX3090
记录一下装机过程,每一个过程的小部分也可能单独用到
所以罗列一些用到的网站链接,省的一个一个去找了。

一、升级gcc

在NVIDIA官网,查询不同版本Ubuntu对应的gcc版本
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

查看自己Ubuntu的版本:

cat /etc/lsb-release

查看gcc版本:

gcc -v

下面是我的一个示例 ,由原先的5.4升级到9.1.0

1.首先安装gcc和g++版本,依次进行如下操作:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test 
sudo apt-get update 
sudo apt-get install gcc-9
sudo apt-get install g++-9

注意上面的最后两条语句,我的虽然是要升级到9.1.0,但是只有sudo apt-get install gcc-9,才能执行,如果执行sudo apt-get install gcc-9.1.0是不行的,g++依是如此。

2.进入/usr/bin/把gcc/g++文件夹删除或备份,建立链接到gcc-5.4/g+±5.4:

cd /usr/bin 
sudo rm gcc 
sudo ln -s gcc-9 gcc 
sudo rm g++ 
sudo ln -s g++-9 g++

3.查看gcc/g++版本号

gcc -v

二、安装python3.8:

示例:linux下升级python3.5至python3.8

0.注意

重装ubuntu的系统,装python3.8之前需要安装以下环境,否则使用pip3会有错误
(Caused by SSLError(“Can’t connect to HTTPS URL because the SSL module is not available.”)

sudo apt-get update
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
sudo apt-get install libxpm-dev libxext-dev 
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev

1.下载python3.8压缩包

先建立下载文件夹:

mkdir /usr/download

在下载文件夹下进行下载:

cd /usr/download
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz

解压文件夹:

tar -xvf Python-3.8.1.tgz

2.安装python3:

新建安装路径:

mkdir /usr/local/python38

在解压的文件夹下编译:

cd  /usr/download/Python-3.8.1
./configure --prefix=/usr/local/python38 --with-ssl

安装命令:

make
make install

3.创建新版本的软链接:

我这里不仅把python3和pip3指向python3.8,也把python和pip指向python3.8了
(弃用了python2和python2的pip对python和pip的连接)

备份旧版本:

mv /usr/bin/python3 /usr/bin/python3_bak
mv /usr/bin/pip3 /usr/bin/pip3_bak
mv /usr/bin/python /usr/bin/python_bak
mv /usr/bin/pip /usr/bin/pip_bak

创建新的软链接:

ln -s /usr/local/python38/bin/python3 /usr/bin/python3
ln -s /usr/local/python38/bin/pip3.8 /usr/bin/pip3
ln -s /usr/local/python38/bin/python3 /usr/bin/python
ln -s /usr/local/python38/bin/pip3.8 /usr/bin/pip

4.检查python3版本:

python3 -V

5.可能会出现的问题

pip3不能使用,出现错误
subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status

解决方法:删除一个文件

sudo rm /usr/bin/lsb_release

三、安装nvidia驱动

1.获取驱动文件

驱动获取网站:https://www.nvidia.cn/geforce/drivers/

我下载的是NVIDIA-Linux-x86_64-455.38.run
上传文件到服务器,给文件权限,变成可执行文件

sudo a+x NVIDIA-Linux-x86_64-455.38.run
sudo ./NVIDIA-Linux-x86_64-455.38.run

四、安装cuda

下边命令直接安装,也可以自己点击官网获取

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run

这时候nvidia-smi就能看到你的3090了

五、安装cudnn

1.下载cudnn

官网下载:https://developer.nvidia.com/rdp/cudnn-archive

选择cuDNN v7.0.0 library for liunx
(需要注册才能进行下载)

下载完毕后,上传cudnn-9.1-linux-x64-v7.tgz 压缩包到服务器

解压cudnn-9.1-linux-x64-v7.tgz

sudo tar -xzvf cudnn-9.1-linux-x64-v7.tgz

2.复制cuDNN内容到cuda相关文件夹内

解压后的文件夹名称为cuda,复制文件

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*

六、安装pytorch 和torchvision

下边命令直接安装,也可以点击官网进行选择

sudo pip3 install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

七、总结

到此处,所有的的安装就完成。简单的网络可以直接跑了。

由于当时我要用faster-rcnn网络,还需要对faster-rcnn重新编译环境,比如我更新了lib文件夹中的pycocotools文件夹、soft_nms文件夹和AlignPool文件夹中的编译生成文件(比如,删除.c文件,.so文件,build文件,以及更新了setup_linux.py中的算力 -arch=sm_86),这个具体网络具体分析吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu18.04安装显卡RTX3090(python3.8+nvidia Drive455.38+cuda11.1+cudnn7+pytorch1.7+torchvision0.8) 的相关文章

  • Ubuntu系统中清理DNS缓存

    在下一篇文章中 xff0c 我们将看一看 我们如何在Ubuntu中刷新DNS缓存 DNS被认为是Internet连接的关键部分之一 目的是更快地访问访问的网站 更常见的是 xff0c 我们的机器会跟踪DNS记录 xff0c 或者将其缓存 迄
  • Active Directory账号登陆confluence报773错误解决办法

    confluence集成的Active Directory xff0c 在使用AD账号进行登录时总是登录不上 使用管理账号在后台进行测试时提示如下错误 xff1a 可认证测试用户 span class token builtin class
  • 【Keil5】*** Target ‘xxx‘ uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available.解决方法

    出现这个报错的原因在Keil 5 37以后安装compiler version 6 xff0c 如果要使用compiler version 5 xff0c 需要自己安装 下载链接 官网 https developer arm com dow
  • ubuntu 18.04.6 使用内核源码安装内核

    文章目录 前言一 编译内核以及安装二 编译内核模块总结参考资料 前言 上一篇我在ubuntu 18 04 更换内核版本后 xff0c 这篇我们在ubuntu 18 04上用内核源码编译其它版本的内核 xff0c 并进行安装 ubuntu 1
  • 关于CMMI和敏捷过程改进

    问题 xff1a 如果按照CMMI从1到5的思路 xff0c 建设企业的信息化制度 xff08 不是为了评定等级 xff0c 是为了实现项目规范管理 xff09 xff0c 可行吗 xff1f 需要关注哪些问题点呢 xff1f 公司如果是个
  • 【PX4_BUG】You should uninstall ModemManager as it conflicts with any non-modem serial device

    将编译好的固件下载到无人机 xff0c 需要输入命令 make px4 fmu v2 default upload 这里运行时可能会有报错 WARNING You should uninstall ModemManager as it co
  • 【PX4-AutoPilot教程-2】搭建并运行第一个应用程序

    搭建并运行第一个应用程序 本文主要说明如何搭建并运行你的第一个板载应用程序 Firmware src examples px4 simple app文件夹下默认已经有一个完整的例程 xff0c 如果遇到了问题可以作为参考 如果需要自己重新编
  • 【PX4-AutoPilot教程-1】PX4源码文件目录架构分析

    PX4源码文件目录架构分析 PX4源代码的结构复杂 xff0c 这是源代码的总目录结构 xff08 以v1 13 0为例 xff09 xff1a Firmware boards build cmake Documentation integ
  • 【PX4-AutoPilot教程-3】uORB主题订阅发布机制理解、应用和代码阅读

    uORB主题订阅发布机制 1 PX4 Pixhawk的软件体系结构 PX4 Pixhawk的软件体系结构主要被分为四个层次 xff0c 这可以让我们更好的理解PX4 Pixhawk的软件架构和运作 xff1a 应用程序的API xff1a
  • 2020-11-23

    https blog csdn net guofei fly article details 104136008 utm medium 61 distribute pc relevant none task blog BlogCommend
  • MapReduce原理及简单实现

    MapReduce将数据的处理分成了两个步骤 xff0c Map和Reduce Map将输入的数据集拆分成一批KV对并输出 xff0c 对于每一个 lt k1 v1 gt xff0c Map将输出一批 lt k2 v2 gt xff1b R
  • 深度理解Python迭代器

    我们手动的实现一个for循环 xff1a li1 61 list range 10 iteratorObject 61 iter li1 while 1 try print next iteratorObject except StopIt
  • 关于mysql版本差异导致FIND_IN_SET()查询不到数据的问题

    这次发现的问题 xff0c 是在接手项目的时候 xff0c 和安卓端小伙伴测试时候发现的 xff0c 插入数据之后却查不出来 xff0c 通过排查定位到FIND IN SET 函数 xff0c 也是第一次接触FIND IN SET xff0
  • YOLOv4代码学习笔记一

    YOLOV4代码学习笔记一 YOLOV4简介CSPdarknet py学习 本文是对另一个博主的 睿智的目标检测30 Pytorch搭建YoloV4目标检测平台代码的学习 xff0c 由于我是cv新手 xff0c 很多东西不懂 xff0c
  • 无人机光流模块使用技巧

    无人机光流模块使用技巧 光流模块在无 GPS 环境下 xff0c 课实时检测飞机水平移动距离 xff0c 实现对四轴无人机长时间的稳定悬停 图1显示的是湖南优象LC 302光流模块的功能框图 xff0c 光流摄像头拍摄无人机垂直向下的画面
  • CMMI 2.0 和 1.3

    CMMI2 0与1 3在组织形式区别很大 xff0c 很多PA和之前的不太一样了 xff0c 而且PA在2 0中叫实践域 xff0c 1 3中叫过程域 不过其实核心内容没有大的变化 xff0c 只是相关内容的位置进行了调整 xff0c 部分
  • ROS2的RVIZ2无法启动

    在新安装的 xff32 xff2f xff33 2中启动rviz2 xff0c 启动错误 xff0c 显示 Failed to create an OpenGL context BadValue integer parameter out
  • 【TCP 重传、滑动窗口、流量控制、拥塞控制】

    文章目录 重传机制超时重传快速重传SACK方法Duplicate SACK 滑动窗口流量控制那操作系统的缓冲区 xff0c 是如何影响发送窗口和接收窗口的呢 xff1f 窗口关闭 拥塞控制慢启动拥塞避免拥塞发生快速恢复 重传机制 TCP 实
  • 【TCP四次挥手】

    文章目录 TCP 四次挥手过程是怎样的 xff1f 为什么挥手需要四次 xff1f 第一次挥手丢失了 xff0c 会发生什么 xff1f 第二次挥手丢失了 xff0c 会发生什么 xff1f 第三次挥手丢失了 xff0c 会发生什么 xff
  • FreeRTOS事件组----任务同步

    有时 xff0c 应用程序的设计需要两个或多个任务才能彼此同步 例如 xff0c 考虑一个设计 xff0c 其中任务A接收一个事件 xff0c 然后将事件所需的一些处理提供给其他三个任务 xff1a 任务B xff0c 任务C和任务D 如果

随机推荐