本文主要内容:
-
硬件参考(哪里省钱) -
Win10+RTX4090深度学习环境配置 -
Mac远程联机Windows(ssh、APP)
新买了一张RTX4090的显卡,就在以前的主机上安装和配置了一下,把过程记录下来,有需要的人可以参考一下,先上一个成品图:
Part1硬件
主机是2020年买的,可以根据需要买更高配的。本次要更换的就是红框中的三个,显卡、内存、电源,其他的都还能用。
1硬件该怎么选?
这个我朋友也给了我很多的参考建议,包括各个硬件都换一遍如何选,也参考了知乎@良睦路程序员[1]的回答。
为了不花冤枉钱还能达到目标,我就换了这三个:
想换4090 24G显卡,电源肯定要跟上(换成了1000w以上),内存原来16G也是短板,这次换成32G的。机箱要能放得下显卡(长度要注意)。
这里也收集了一些显卡的参数对比,仅供参考。图源京东。
涡轮卡一些参数:
公版卡参数(难买到):
2如何买?
显卡毕竟很贵,最担心是买到矿卡,我朋友建议的品牌:影驰、技嘉、微星,不着急可以等活动省大几百块。不建议去二手店、组装店之类的,很可能会买到二手卡。
同一品牌下的同一款卡,还会配不同套装,比如水冷、RGB灯之类的,根据自己喜好和预算选一个即可。
Part2深度学习环境配置
我们拆机组装好后【如果不知道如何装机,自行搜视频看哈】,就开始安装一些软件了。
-
如何看显卡安装成功?
在设备管理器中可以查看:
3显卡驱动安装:
要在Windows上使用4090做模型训练,一方面要让显卡运行起来,下载显卡驱动[2]:https://www.nvidia.cn/geforce/drivers/,另外要训练神经网络我们要安装CUDAtoolkit和cuDNN。
如图:根据自己的系统和显卡型号搜索一下即可。
经验告诉我不要使用最新的版本,dddd(懂的都懂)。4090显卡需要“驱动程序版本: 526.98 - 发行日期: 2022-11-16”及以上。
下载后,根据推荐一路点下去安装。不用管界面显示哪个路径,那个是临时的,最终会自动删除,并最终安装在默认路径:
C盘的 NVIDIA Corporation
C盘的 NVIDIA GPU Computing Toolkit
这时候,可以打开终端(win + R 快捷键),输入cmd,终端输入 nvidia-smi 查看:
这里哪怕是12.x版本也没事,我们可以使用conda管理我们的项目环境,只需要那里的cudatoolkit和cudnn版本一致、且符合其他依赖包的需求即可。原因下文有解释。
4cudatoolkit 和 cudnn 安装
也可以单独再下载 11.8版本的cudatoolkit[3]和对应的cuDNN[4]:https://developer.nvidia.com/cuda-toolkit-archive
https://developer.nvidia.com/rdp/cudnn-download
一路点击安装即可。
cuDNN的下载需要注册,挺麻烦,11.8版本的我上传到网盘了,文末可以获取连接哈。
下载后解压,对应目录的文件,复制到刚刚安装cuda toolkit同名文件夹下即可。
-
在终端输入 nvcc -V
如果没有正常显示,可以查看系统环境变量:
**win+i快捷键** 打开配置,
依次点击"系统"、"关于"、"高级系统设置"就能打开系统属性,
在“高级”下点击“环境变量N”,
在系统变量中找到path并双击。
如果没有以下环境路径就添加:
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.8bin
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.8libnvvp
-
nvcc版本和nvidia-smi 版本不一致:
nvcc 属于CUDA的编译器,将程序编译成可执行的二进制文件,nvidia-smi 全称是 NVIDIA System Management Interface ,是一种命令行工具,帮助管理和监控NVIDIA GPU设备的。
nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道自身构建时的CUDA runtime版本,并不知道安装了什么版本的GPU driver。
5conda环境管理
Python项目环境依赖的版本让人很不好搞,对于不同cuda版本依赖,我们可以使用conda创建新环境,并安装对应的版本。之前也写了一篇conda环境管理的文章。
conda install -c conda-forge cudatoolkit=11.8
conda install -c conda-forge cudnn
conda会自动给匹配合适的对应版本cudnn。
哪怕本机部署Docker镜像,根据版本拉取hub中的镜像即可,例如:
docker pull pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime
Part3Mac 远程连接
Mac上可以远程ssh登录Win电脑,也可以使用相关软件,我用的Microsoft Remote Desktop,国内的APP store可能不可以下载,文件放在了网盘,见文末。
这样,主机打开,不需要额外显示器,而且可以Mac OS 和Windows系统无缝切换,效果图:
1、安装 openssh
可以通过系统设置安装:
https://learn.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse?source=recommendations
也可以通过powerShell安装。
Windows系统左下角的系统按钮,右键找到“命令提示符(管理员)”,全程需要管理员权限的哦。
# 安装OpenSSH客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
#安装OpenSSH服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
验证是否安装成功:输入
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
返回installed状态即可:
2、启动SSH服务器
# 启动sshd服务
Start-Service sshd
# 将sshd服务设置为自动启动,若不设置需要在每次重启后重新开启sshd
Set-Service -Name sshd -StartupType 'Automatic'
# 确认防火墙规则,一般在安装时会配置好
Get-NetFirewallRule -Name *ssh*
# 若安装时未添加防火墙规则"OpenSSH-Server-In-TCP",则通过以下命令添加
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
3、开启密钥登录
ssh-keygen -t ed25519
如果走默认就一直回车,也可以自己定义路径和文件名,默认在:C:Users你的用户名.sshid_ed25519
对应的还有个公钥 id_ed25519.pub
我的这里加了个后缀,和其他文件区分开来。
我们将公钥.pub文件复制放到Mac系统下 .ssh文件下
-
SSH登录:
在Windows电脑的命令行中输入 ipconfig 查看 ipv4地址
在Mac终端输入:
ssh win用户名@刚刚查看的ip地址
在终端操作需要熟悉Windows中的一些命令。
-
APP登录:Microsoft Remote Desktop
软件和本次的驱动、cuda我都上传到网盘了。从网盘下载安装即可。
登录界面:
配置也简单:在“add user account”中添加Windows主机的登录账密,保存下次就直接点击链接了。
6其他连接方式:
如文章开头,我用了投影仪显示主机内容,一个投影仪和一个显示器也差不多的价格,但投影仪联网还能看视频看电影(家庭影院),屏幕和电视都是固定大小的屏幕。
一根HDMI线,一头连接投影仪,一头连接显卡上的HDMI口就可以了,投影界面的设置中,将信号源切换为HDMI即可。
本次分享就到这里了,Windows环境下基于RTX4090显卡安装深度学习环境的基本流程,Mac远程连接Windows主机、投影仪连接主机的相关图文教程。
所有文件都放在百度云盘链接,可以点击文末左下角“阅读原文”直达,需要的自取哈~如果失效,到留言板留言,我把最新链接置顶。
参考资料
知乎@良睦路程序员: https://www.zhihu.com/question/586361676/answer/2913703371
[2]显卡驱动: https://www.nvidia.cn/geforce/drivers/
[3]CUDAtoolkit: https://developer.nvidia.com/cuda-toolkit-archive
[4]cuDNN: https://developer.nvidia.com/rdp/cudnn-download
2023-03-19
2023-03-14
2023-03-19
2023-03-05
2023-02-27
2023-02-02
“点赞”是喜欢,“在看、分享”是真爱
<