RTX30系列-Ubuntu系统配置与深度学习环境Pytorch配置_深度学习ubuntu用u盘多少内存-程序员宅基地

技术标签: 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

智能推荐

已知num为无符号十进制整数,请写一非递归算法,该算法输出num对应的r进制的各位数字。要求算法中用到的栈采用线性链表存储结构(1<r<10)。-程序员宅基地

文章浏览阅读74次。思路:num%r得到末位r进制数,num/r得到num去掉末位r进制数后的数字。得到的末位r进制数采用头插法插入链表中,更新num的值,循环计算,直到num为0,最后输出链表。//重置,s指针与头指针指向同一处。//更新num的值,至num为0退出循环。//末位r进制数存入s数据域中。//头插法插入链表中(无头结点)//定义头指针为空,s指针。= NULL) //s不为空,输出链表,栈先入后出。

开始报名!CW32开发者扶持计划正式进行,将助力中国的大学教育及人才培养_cw32开发者扶持计划申请-程序员宅基地

文章浏览阅读176次。武汉芯源半导体积极参与推动中国的大学教育改革以及注重电子行业的人才培养,建立以企业为主体、市场为导向、产学研深度融合的技术创新体系。2023年3月,武汉芯源半导体开发者扶持计划正式开始进行,以打造更为丰富的CW32生态社区。_cw32开发者扶持计划申请

希捷硬盘开机不识别,进入系统后自动扫描硬件以识别显示_st2000dm001不认盘-程序员宅基地

文章浏览阅读5.7k次。2014年底买的一块2TB希捷机械硬盘ST2000DM001-1ER164,用了两年更换了主板、CPU等,后来出现开机不识别的情况,具体表现为:关机后开机,找不到硬盘,就进入BIOS了,只要在BIOS状态下待机半分钟左右再重启,硬盘就会出现。进入系统后,重启(这个过程中主板对硬盘始终处于供电状态),也不会出现不识别硬盘的现象。就好像是硬盘或主板上某个电容坏了一样,刚开始给硬盘通电的N秒钟内电容未能..._st2000dm001不认盘

ADO.NET包含主要对象以及其作用-程序员宅基地

文章浏览阅读1.5k次。ADO.NET的数据源不单单是DB,也可以是XML、ExcelADO.NET连接数据源有两种交互模式:连接模式和断开模式两个对应的组件:数据提供程序(数据提供者)&DataSetSqlConnectionStringBuilder——连接字符串Connection对象用于开启程序和数据库之间的连接public SqlConnection c..._列举ado.net在操作数据库时,常用的对象及作用

Android 自定义对话框不能铺满全屏_android dialog宽度不铺满-程序员宅基地

文章浏览阅读113次。【代码】Android 自定义对话框不能铺满全屏。_android dialog宽度不铺满

Redis的主从集群与哨兵模式_redis的主从和哨兵集群-程序员宅基地

文章浏览阅读331次。Redis的主从集群与哨兵模式Redis的主从模式全量同步增量同步Redis主从同步策略流程redis主从部署环境哨兵模式原理哨兵模式概述哨兵模式的作用哨兵模式项目部署Redis的主从模式1、Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。2、为了分担读压力,Redis支持主从复制,保证主数据库的数据内容和从数据库的内容完全一致。3、Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。全量同步Redis全量复制一般发_redis的主从和哨兵集群

随便推点

mysql utf-8的作用_为什么不建议在MySQL中使用UTF-8-程序员宅基地

文章浏览阅读116次。作者:brightwang原文:https://www.jianshu.com/p/ab9aa8d4df7d最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误:Incorrect string value: ‘😃 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字符串“????..._mysql utf8的作用

MATLAB中对多张图片进行对比画图操作(包括RGB直方图、高斯+USM锐化后的图、HSV空间分量图及均衡化后的图)_matlab图像比较-程序员宅基地

文章浏览阅读278次。毕业这么久了,最近闲来准备把毕设过程中的代码整理公开一下,所有代码其实都是网上找的,但都是经过调试能跑通的,希望对需要的人有用。PS:里边很多注释不讲什么意思了,能看懂的自然能看懂。_matlab图像比较

16.libgdx根据配置文件生成布局(未完)-程序员宅基地

文章浏览阅读73次。思路:  screen分为普通和复杂两种,普通的功能大部分是页面跳转以及简单的crud数据,复杂的单独弄出来  跳转普通的screen,直接根据配置文件调整设置<layouts> <loyout screenId="0" bg="bg_start" name="start" defaultWinId="" bgm="" remark=""> ..._libgdx ui 布局

playwright-python 处理Text input、Checkboxs 和 radio buttons(三)_playwright checkbox-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏13次。playwright-python 处理Text input和Checkboxs 和 radio buttonsText input输入框输入元素,直接用fill方法即可,支持 ,,[contenteditable] 和<label>这些标签,如下代码:page.fill('#name', 'Peter');# 日期输入page.fill('#date', '2020-02-02')# 时间输入page.fill('#time', '13-15')# 本地日期时间输入p_playwright checkbox

windows10使用Cygwin64安装PHP Swoole扩展_win10 php 安装swoole-程序员宅基地

文章浏览阅读596次,点赞5次,收藏6次。这是我看到最最详细的安装说明文章了,必须要给赞!学习了,也配置了,成功的一批!真不知道还有什么可补充的了,在此做个推广,喜欢的小伙伴,走起!_win10 php 安装swoole

angular2里引入flexible.js(rem的布局)_angular 使用rem-程序员宅基地

文章浏览阅读1k次。今天想实现页面的自适应,本来用的是栅格,但效果不理想,就想起了rem布局。以前使用rem布局,都是在原生html里,还没在框架里使用过,百度没百度出来,就自己琢磨,不知道方法规范不规范,反正成功了,操作如下:1、下载flexible.js2、引入到angular项目里3、根据自己的需要修改细节3.1、在flexible.js里修改每份的像素,3.2、引入cssrem插件,在设置里设..._angular 使用rem

推荐文章

热门文章

相关标签