wsl2安装 深度学习环境配置!同时拥有ubuntu的高效和windows的便捷!

作者: 七十七的德分类: 计算机技术 发布时间: 2023-03-23 09:08:36 浏览:42443 次

wsl2安装 深度学习环境配置!同时拥有ubuntu的高效和windows的便捷!

ProgramerP:
我自己的测试了一下性能-硬件3080laptop 175W 对照组1:WSL+本机cuda+anaconda里安装cudatoolkit和cudnn(此时使用print(torch.backends.cudnn.version())也可以显示cudnn) 对照组2:WSL+本机cuda+cuda for wsl+cudnn+anaconda里安装cudatoolkit(按文字教程里为wsl安装了cuda和cudnn,对照组1没有这两个) 实验结果:对照组1跑一个epoch是50分钟,对照组2跑一个epoch是30分钟 虽然两个都能用cudnn,但性能差距太大了。 产生差别的原因肯定是对照组1用的是本机windows的cuda,而对照组2用的是WSL本身的cuda。 不太确定是cuda本身还是cudnn造成的差异,应该先装WSL cuda测一下,再装cudnn测一下。 总之谢谢up,不然还真没想起要给WSL装cuda,我以为反正能跑,不装也行。 文字教程关于cudnn那里有点问题,cudnn8.8.1 for cuda11.x下载的tar解压包里边是lib和include文件夹,不是lib64,所以命令不太对 此外,希望文字教程能给个测试cudnn的结果图

【回复】更新了文字教程,lib64--->lib; 添加了cudnn的图
【回复】我记得cuda+cuda for wsl都是本机上的吧?那么WSL中还有必要安装cudnn+cudatoolkit不?我在WSL跑下来是3.3,分钟,在本地windows下是2.53,不晓得是哪里出了问题(训练数据都复制到WSL下了,但Pycharm是在win下跑的)
【回复】请问windows蓝屏了,wsl2也会崩溃吗[思考],要是跑个什么编译岂不是心态爆炸
七十七的德:
1. win VS wsl2 VS Ubuntu 深度学习性能对比:https://www.bilibili.com/video/BV15j411w7KN/?vd_source=310f4f7f68c72e4f899eccd27100b5c5 2. 文字教程:https://www.gongsunqi.xyz/posts/3c995b2a/ 3. pycharm专业版软件百度网盘:链接:https://pan.baidu.com/s/1YkT8CiObO3v2Pnmmld2pqA?pwd=ci4h 提取码:ci4h Onedrive: https://1drv.ms/u/s!Arq4VGYuCz4AieNcw-nrj4XXtrugzQ?e=kmmVwH 重要补充: 1.windows正常安装NVIDIA的显卡驱动和cudatoolkit,https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11 这个连接下载win11版本的。只需要安装这一个驱动软件,cudatoolkit,cuda,显卡驱动等所有你需要的东西都安装好了。 2.wsl2 ubuntu中,如果你不需要使用编译,那么按照视频教程,只用conda配置环境即可,如果需要,请看文字教程,里面有详细的介绍。

【回复】回复 @风子555 :没有的,wsl2只能调用windows环境下的driver驱动,cudatoolkit和cudnn还得在wsl2中安装,否则没法编译。安装的cuda版本可以小于等于driver(nvidia-smi)上显示的版本,实际上我装过cuda版本高于nviia-smi显示的版本,也可以正常运行,只要版本号差别不大就行。
【回复】up我想问一下,你这里给的是windows下的CUDA Toolkit 12.1的连接,你的文字教程里在wsl下又装了一个wsl2版本的CUDA Toolkit 11.8。我想问一下,这没有重复安装吗?此外,一个是12.1一个是11.8,版本会不会不兼容?谢谢!
【回复】回复 @风子555 :理论上不会,pytorch和TensorFlow调用的底层硬件和驱动都是一样的,cudatoolkit和cudnn都是老黄提供的,安装位置都一样。可能你用install TensorFloe-gpu命令安装的版本和之前装的有可能有区别,仅此而已。
芥末西瓜汁哦:
wsl2唯一操蛋的地方是up和宿主机不在同一网段,要自己写脚本桥接到hyperV才行

【回复】回复 @superflashla : wsl2使用的是hypervisor type1类型的hype-V,这是一种硬件级别的虚拟化,具体的层级是:第一级硬件;第二级hypervisor;第三级guest OS,这里可以一起安装很多个。也就是说本质上Windows11和wsl2是两个平行级别的虚拟机。只不过微软对这个hypervisor的优化太牛逼了,性能损失也就1%左右,最大负载损失也不过5%。
【回复】回复 @superflashla :Hyper-v技术就是这样的,所有的虚拟机和本机系统都是平行级别的。只不过本机拥有访问hypervisor和大多数设备的更高的控制权。为什么启用了hyper-v以后virtualbox和vmware这些虚拟机用不了了,因为启用后它们相当于在虚拟机里再套虚拟机了。
【回复】回复 @jxdqwer : 其实windows本质上也是虚拟机,这俩都是运行在hypervisor上的虚拟机。
道炁长存天地朗朗:
同时拥有widosw的蓝屏和linux混乱的文件系统

【回复】linux文件系统混乱??你说其他的就算了,和win比文件系统混乱,那还排不达linux,也就只有安卓能比win文件系统混乱了。
【回复】搁这说反话呢,windows的DirectX还有windows对nvidia gpu的适配真的不是Linux或者gnome这种开源社区能比的,而且linux的主要市场就是服务端,gui真的比windows若太多了
【回复】回复 @永不松手 : 强烈赞同,windows的c盘和安卓的根目录,简直不堪瞩目,权限管理一塌糊涂,是个程序都能随便塞垃圾
ProgramerP:
为啥性能还会高20%?不应该是衰减吗?怎么测试的呀

【回复】wsl2性能提升的本质是Ubuntu跑深度学习性能比windows强。 wsl2使用的是hypervisor type1类型的hype-V,这是一种硬件级别的虚拟化,具体的层级是:第一级硬件;第二级hypervisor;第三级guest OS,这里可以一起安装很多个。也就是说本质上Windows11和wsl2是两个平行级别的虚拟机。只不过微软对这个hypervisor的优化太牛逼了,性能损失也就1%左右,最大负载损失也不过5%。 综上,如果原生Ubuntu性能对比Windows有超过5%的提升,那么wsl2的性能一定是要比windows强的。 注意:旧版本的vm是type2类型的虚拟化,相当于windows里的一个软件,性能损失很大。
【回复】回复 @七十七的德 : 旧版本的wsl不是虚拟机,是直接转译api
【回复】回复 @VanillaWare :你看我另一个视频里 wsl2下载anaconda3的网速,80MB/s[doge]带宽1G能跑到80,和在win中下载差不太多
奶酪芝士球:
牛啊,好像b站讲按照wsl和深度学习的,这么全的就up一个。

xFD_ct-3124:
pytorch还好,现在新版本tensorflow直接不支持在win的anaconda下面调用gpu了,一定要wsl2

【回复】回复 @致命深寒 :tensorflow基本已经被淘汰了,谷歌自己都放弃了,估计没人愿意维护了,也就互联网公司搜广推还用一用1.15的定制版本
【回复】最后支持win的版本是2.10,确实很操蛋,不知道谷歌天天在想啥
【回复】去看官网英文安装说明,明切写了ts对于Windows的最后支持版本
风度平生友_:
请问cuda toolkit,cudnn,pytorch都安装好了,可为什么torch.cuda.is_available()返回false

【回复】回复 @-碧血丹心- : 请问你多久能升级,我咋升级一夜了还没到WSL2
【回复】回复 @白色的无人问津 :我用的校园网,很快就升级好了
【回复】我找到原因了,也给有类似问题的小伙伴一个思路,就是wsl版本没有升级到v2的问题,在powershell里输入wsl --set-version ubuntu-20.04 2
七十七的德:
文字教程:https://www.gongsunqi.xyz/posts/3c995b2a/

【回复】回复 @反向代理 :www.gongsunqi.xyz
【回复】博主,这网址都连不上啊
_好什么好_:
UP,请教一下,我在WIN10下用你的方法装好了虚拟环境,在Pycharm的接口配置时候在Ubuntu的那个虚拟。环境的目录下面找不到Python3的执行文件。是哪里有问题[笑哭]

【回复】请先确认:1.wsl2中安装了anaconda或者miniconda 2.成功创建了虚拟环境,以能够成功激活为准 3.pycharm中是按照正确的路径寻找python3
【回复】今天从新装了个原版的系统,一步步的开启系统的虚拟环境,居然就成了。真的是那些优化版的,害死人啊。还是要谢谢你啊
元芳你怎么看ya:
Cuda版本太高,导致pytorch没有适应的版本该咋办

橙猫猫不要熬夜:
如果在wsl2安装cuda和cudnn后是不是windows上面的就可以删了

小白还不黑:
请问为啥我在ubuntu下使用Nvidia-smi命令时,没有成功显示windows电脑的GPU啊?是什么问题啊?而且外接显卡也读取不到。

【回复】请问你解决这个问题了吗
【回复】回复 @叶落知多少521 : 好像是驱动的版本问题,换个驱动版本
轩玖-:
可以正常连接到环境,但是运行就运行失败,显示wslproxy closed stream unexpectedly. See idea.log for errors,怎么回事

轩玖-:
wslproxy closed stream unexpectedly. See idea.log for errors,我是用pycharm使用wsl下的conda环境,运行代码显示不能运行,提示的就是这个。有没有兄弟知道的。重配置wsl没有用

LesTourne3ols:
请教一下up安装anaconda的时候出现这种情况应该怎么解决,试了好多次都是这样,网上也没找到类似情况

【回复】每次中断的地方还不一样,有时断在安装mpmath
AIandFun:
我再用pycharm的时候出现“ConnectionResetError: 【Errno 104】 Connection reset by peer”这个问题,大家有遇到过不呢?

AIandFun:
太棒了,安装三个教程走了一遍,就成功了,必须三连一波![鼓掌]

【回复】回复 @AIandFun :确实,太随缘了[笑哭]
【回复】回复 @梦想是做鸵鸟 : 换个源看行不行呢,确实会比较慢[笑哭]
【回复】麻烦问下,conda下pytorch的时候总是http error怎么办[大哭],换了好几个网都解决不了,就差最后一个最大的包没下载下来了

人工智能 WSL conda pycharm wsl2

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!