RTX30系列-Ubuntu系统配置与深度学习环境Pytorch配置_ubuntu多大空间pytorch_resumebb的博客-程序员秘密

技术标签: ubuntu  深度学习  linux  

本文完成RTX3090Windows+Ubuntu双系统配置 ,并配置深度学习环境

硬件环境为RTX3090+Z590主板,64GB RAM,2TB固态,8TB存储
Ubuntu系统版本为:Ubuntu 20.04.3 LTS
深度学习环境:cuda11.0.4;cudnn8.2.4;pytorch1.9

一、制作启动盘

1.下载ISO镜像

去官方网站根据需求下载镜像,我这里下载的是Ubuntu 20.04.3 LTS

下载Ubuntu桌面系统 | Ubuntuhttps://cn.ubuntu.com/download/desktop

2.下载烧录工具UltraISO

UltraISO软碟通中文官方网站 - 光盘映像文件制作/编辑/转换工具https://cn.ultraiso.net/

3.制作Ubuntu启动盘

以管理员身份打开UltraISO

文件->打开->找到下载的镜像 

启动->写入硬盘镜像,点击写入

有警告选择yes,U盘会被格式化,要做好文件备份

最后U盘内容变成这样就算成功了 

 二、安装Ubuntu系统

1.初始操作

如果电脑之前安装过Ubuntu系统,先把之前的分区删掉

比如我这里这几个主分区都是之前安装Ubuntu16的,点击删除卷全部删掉

 删除后变成这样就可以了,注意NTFS为系统盘,千万不要删

 如果之前没有安装过,就选择一个卷进行压缩,给Ubuntu分配系统空间,我这里给分了2TB,可以根据自己的空闲空间大小进行分配。

2.设置启动顺序

设置U盘的启动顺序为1,然后保存并重启

选择Ubuntu 

 等待磁盘检查

3.进行安装

 安装

安装Ubuntu,为了方便展示,我这里选择了中文,后面最好改回英文,以避免发生不必要的错误,有的数据集代码什么的遇到中文路径就会报错。

键盘布局

联网

什么网络都不要连,最好把网线也拔了,不然安装会很慢,不要网离线安装几分钟就结束了。

 

更新和其他软件 

 

安装类型

这里选择其他进行自定义分区,千万不要选第二项 

 

找到刚才分配的空闲分区,选中并点击+创建挂载点 

 

挂载点/

参考Ubuntu20.04从零开始安装(Win10双系统)_pt3_的博客-程序员秘密

1 swap区 16g(内存大小1.5倍) 逻辑分区 空间起始位置 交换空间
2 / 30g 主分区 空间起始位置 etx4
3 /boot 2g 逻辑分区 空间起始位置 etx4
4 /home 52g 逻辑分区 空间起始位置 etx4
  • /boot - 200 MB ; 实际需求大约 100 ~ 200MB,如果有多个内核/启动镜像同时存在,建议分配 200 或者 300 MB。(个人建议:200MB ~ 300MB)
  • / - 15-20 GB ; 主分区,默认ext4,15-20 GB 对于大多数用户来说是一个比较合适的取值。(个人建议:15G短时间用不完,长期使用的话,建议20GB~25GB)
  • /home - [不定] ; 通常用于存放用户数据,下载的文件和媒体文件。在桌面系统中,/home 通常是最大的文件系统。(个人建议: 多多益善)
  • swap - [不定] ;逻辑分区,在拥有不足 512 MB 内存的机器上,通常为 swap 分区分配2倍内存大小的空间。如果有更大的内存(大于 1024 MB),可以分配较少的空间甚至不需要swap 分区。(个人建议:感觉现在电脑的配置可以不要swap,但是也会用的着的,所以还是建议多少分点

我这里因为分的空间比较大,所以就给的比较随意了 

 

 挂载点swap

  挂载点/boot

忘了拍照了....,照着上面分就行

 挂载点/home

把剩下的全分给home

 

引导启动

选择/boot对应的sda,然后进行安装 

 

 地区与用户

 

安装完成后重启 

接下来就可以使用了 

 注意事项及总结

 一开始我安装的是16版本,后来安装好之后分辨率不对,去NVIDIA官网安装驱动后好了,网卡驱动有问题,不管是启动盘自带的驱动还是网上说的e1000,还去找了Z590主板上的网卡型号,下载驱动都没办法用,一直连不上网,后来不用电脑以太网口,用USB扩展网口连接上网线可以用,但网络十分不稳定,过几分钟就会掉线,必须重启服务才行,还有其他各种各样的问题,迫不得已现在安装了一个新点的Ubuntu,安装好问题都解决了,界面也更精美,3090和老版本的Ubuntu适配还是有点问题,这也给自己长了一个教训。

三、配置深度学习环境

1.显卡驱动

禁用nouveau驱动

sudo vim /etc/modprobe.d/blacklist.conf

添加

blacklist nouveau
options nouveau modeset=0

  后执行:

sudo update-initramfs -u

重启后,执行以下命令,如果没有屏幕输出,说明禁用nouveau成功:

lsmod | grep nouveau

卸载旧驱动

以下操作都需要在命令界面操作,执行以下快捷键进入命令界面,并登录:

记录一个大坑 

以下是Ubuntu16的命令

Ctrl+Alt+F1

按下后就跟cmd一样,不要慌,想回到图形化界面按:

Ctrl+Alt+F7

这里先不回去,以下命令在命令行界面执行:

tty1命令行界面:

Ctrl+Alt+F3

图形化界面

Ctrl+Alt+F1

 我开始按半天都进行不去还以为出啥问题了。

以下是Ubuntu20的命令
执行以下命令禁用X-Window服务,否则无法安装显卡驱动:

sudo service lightdm stop


执行以下三条命令卸载原有显卡驱动:

sudo apt-get remove --purge nvidia*
sudo chmod +x NVIDIA-Linux-x86_64-410.93.run
sudo ./NVIDIA-Linux-x86_64-410.93.run --uninstall

安装新驱动

NVIDIA 驱动程序下载https://www.nvidia.cn/Download/index.aspx?lang=cn选择自己的显卡型号,进行下载

也可以直接通过命令进行安装

下载完run文件后,在命令行界面进行下面操作 

 直接执行驱动文件即可安装新驱动,一直默认即可:

sudo ./NVIDIA-Linux-x86_64-410.93.run

执行以下命令启动X-Window服务

sudo service lightdm start

The distribution-provided pre-install script failed! Are you sure you want to continue? 

选择 continue


Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  

选择 No 继续。


Nvidia's 32-bit compatibility libraries? 

选择 No 继续。


Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 

 选择 Yes  继续

最后执行重启命令,重启系统即可,通过nvidia-smi进行检验,输出下列信息就说明安装成功了。

检查

通过nvidia-smi检查,输出显卡信息就安装成功了。

2.CUDA安装

CUDA Toolkit 11.4 Update 2 Downloads | NVIDIA Developerhttps://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local

 按照自己的版本进行选择,依次执行以下第一条命令进行安装即可。

下载完成之后,先给文件赋予执行权限

sudo chmod +x cuda_xxxx_linux.run

然后执行安装包,开始安装:

sudo ./cuda_xxxxxlinux.run

按回车不要Driver,否则会覆盖原先的驱动,可能会出错。 

 

3.配置环境变量 

安装完cuda还无法使用,需要配置环境变量

gedit ~/.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
# 保存退出,打开新终端激活
source ~/.bashrc

PS:这个路径不一定,我这里是cuda,有的是cuda11.0,有的是cuda10的,根据实际路径修改,

配置完后通过nvcc -V检查,打印下列信息配置成功 

 4.cudnn

cuDNN Download | NVIDIA Developerhttps://developer.nvidia.com/rdp/cudnn-download

 在官网下载

解压后执行下面命令,注意这里的路径会根据版本不同不一样,和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*

5.Pytorch

先将下载源改为清华源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

我这里用的是Anaconda进行环境配置的,这个比较方便管理,首先创建环境:

conda create -n pt1.9 python=3.7

激活环境后,输入命令安装

conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c nvidia

 安装完成后再根据需求安装一些需要的包,如numpy,matplotlib,opency-python等

然后通过以下代码测试环境是否搭建成功:

import torch
print(torch.cuda.is_available())

print(torch.version)

输出以下信息就算搭配好了,之后就可以跑深度学习的代码了

6.将向日葵设置为开机默认启动

由于经常用到远程,就使用了向日葵作为远程访问工具,在软件中设置了开机启动,但是发现没有生效,开机后还是需要手动启动

 故通过设置应用首选项添加其为开机启动选项。

首先在命令行中输入以下命令进入设置界面

gnome-session-properties

然后点击Add进行添加 ,Name和Comment随便填,Command需要输入应用路径,除了向日葵也可以添加别的开机启动应用,路径如果不清楚可以用下方命令进行查看

dpkg -L sunloginclient

找别的应用可以更换名称就行

 最后点击Save保存即可。

7.为Pycharm创建快捷方式

安装完Pycharm后发现启动没有快捷方式,非常麻烦,所以特地记录一下创建过程。

首先进入安装的pycharm路径bin下,找到pycharm.sh,先用./ pycharm.sh运行启动pycharm

启动后在界面的Tools下有个Create Desktop Entry,点击创建 

然后就能生成桌面快捷方式了,上面那个方框不要勾选

 还可以创建命令行启动方式,跟sh启动差不多

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41573860/article/details/120543012

智能推荐

点击listWidget中的item对象,响应事件_狗庄欺人太甚的博客-程序员秘密

首先定义listWidget # 图片名展示 self.listWidget = QtWidgets.QListWidget(self.centralwidget) self.listWidget.setGeometry(QtCore.QRect(0, 0, 504, 712.8)) self.listWidget.setObjectName("listWidget") MainWindow.setCentralWidget(self.c

一行字符串,寻找其中出现相同且长度最长的子串_hehainan_86的博客-程序员秘密

编程:输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置。例如:yyabcdabjcabceg,输出结果应该是abc和3.解析:可以将字符串yyabcdabjcabceg分解成:yyabcdabjcabcegyabcdabjcabcegabcdabjcabcegbcdabjcabceg.......ceg

罕见的C#关键字【转】_navy235的博客-程序员秘密

<br />  在正式开始之前,我需要先声明:这些关键字对于偏向底层的程序员更加耳熟能详,对这些关键字不了解并不影响你作为一个合格的程序员。<br />QQ291911320<br />  这意味着这些关键字会让你在编写程序时得到更好的代码质量和可读性,enjoy<br />  yield<br />  yield关键字会告诉编译器当前的函数是在一个循环内部,编译器会相应生成一个执行它在循环体内部所表示行为的类,yield和return关键字一起用于为枚举器对象提供返回值,比如说:在foreach内部的每一

Hyper-V虚拟机怎么设置_hyper-v设置_知猪狭的博客-程序员秘密

创建虚拟机打开Hyper-V管理器新建虚拟机选择虚拟机存储位置选择版本,win7选择第一代,win8及以上选择第二代分配内存,默认即可,想大一点也没关系选择网络适配器,一开始选Default Switch就行,后面还需要配置创建虚拟硬盘,默认就行装系统,映像文件自己去下载就好配置虚拟机取消安全启动,不然无法启动创建虚拟交换机,不然虚拟机无法联网物理机桥接虚拟交换机,同时选中这两个,右键桥接使用虚拟交换机启动,连接就好了映射虚拟机端口到物理机

性能测试工具_个人博客性能测试工具_程序员杂谈的博客-程序员秘密

性能测试指的是通过一些自动化的测试工具模拟多种正常、峰值,以及异常负载的条件来对系统的各项性能指标进行测试。常用的工具有:1.ab  ab(ApacheBench)是一款专门用来对HTTP服务器进行新能测试的工具,可以模拟多个并发请求来对服务器进行压力测试,得出服务器在高负载下能够支持的qps及应用相应的时间,卫系统设计提供参考依据。2.Apache JMeter  它的功能比ab更为强...

Vue | tab导航_Prpr_Saber的博客-程序员秘密

之前看bootstrap的时候就觉得它的轮播导航很好用,最近又在vue官网看到个tab导航,觉得很不错网址https://jsfiddle.net/chrisvfritz/Lp20op9o/然后被我用vue-cli改了改(其实就是复制粘贴),像个正常的页面了,还添加了我自己的信息(逃 github地址[vue-tabpage]https://github.com/Saber2pr/...

随便推点

开始Catlike Coding翻译——写在前面(这是个大工程啊)_catlikecoding_qq_42963140的博客-程序员秘密

Catlike Coding C# and Shader Tutorials for the Unity Engine 是Jasper Flick大神制作的Unity系列教程,具体的开始时间我也不知道,不过他从Unity4时代就开始做这个教程了,而对应的Bitbucket上最新的更新日期是2019年,从Unity4到Unity5,到Unity2017、2018、2019,算起来是有好多年了。以下是主要目录基础(Basic)移动(Movement)对象管理(Object Management)塔防

java程序从键盘输入十个整数存入数组a中_并编程实现:_Java一维数组编写一个程序使之从键盘读入10个整数存入整型数组a中然后逆序输出这10个数..._牧云君的博客-程序员秘密

展开全部//不要全部粘贴复制,这个你应该明白,包名和类名都不一样的package作业62616964757a686964616fe78988e69d8331333363383364;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassDemo...

数据挖掘十大经典算法(详解)_weixin_34247155的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...

IIS日志自动清理_weixin_34198797的博客-程序员秘密

IIS在运行的过程中日志会不停地增长,若iis的网站被频繁的调用或不当的调用,则会产生很多日志。我在系统运维的时候曾出现过20G的系统盘,由于合作商开发的程序有问题,每几百微秒调用一次web服务,短期内导致日志膨胀至8~9G。对于系统盘或者磁盘空间不够的服务器来说。IIS日志自动清理则非常有必要。脚本如下:1,文件名:rmiislog.js脚本内容:function...

ChatGPT没有API?OpenAI官方API带你起飞_AI原吾的博客-程序员秘密

但其实这个API是基于GPT3的,和基于GPT3.5的ChatGPT相比只能说是小弟弟,前段时间ChatGPT爆火,OpenAI 的 GPT API也被大家疯狂调用,现在 OpenAI 的 ChatGPT API 终于来了!效果不错,就是用起来不太方便,Gradio了解一下。

Android WebView 跳过“您尝试加入的网络存在安全问题“_skid的博客-程序员秘密

在上一篇 RK7.1平台连接Captive Portal wifi时自动跳转到登录界面在系统开机时间与当前网络时间不一致时,在WebView登录页面会弹出警告“您尝试加入的网络存在安全问题”,导致无法进行Portal wifi登录操作,当前是无网络的情况,无法进行网络时间同步,必须手动设置系统时间后才能进行登录操作,这样的操作还是十分麻烦的。所以要想办法避开WebView的这个警告查看警告时的log01-01 20:24:12.721 1566 1566 W CaptivePortal

推荐文章

热门文章

相关标签