用WSL2训练深度学习模型不比在Windows上快乐?

作者: 小万同学哦分类: 计算机技术 发布时间: 2022-03-26 12:21:28 浏览:22611 次

用WSL2训练深度学习模型不比在Windows上快乐?

沪上小菜鸡:
已经有人测试过了,cpu训练几乎和裸机ubuntu一样的性能,但是gpu训练有起码20%的性能上的差异

【回复】并没有,虽然和原生linux差一些,但还是比win11本地跑快很多的,不想弄双系统的话wsl2是个非常好的选择,开机自启动,配一下固定ip和端口转发就可以直接当一个简易服务器用了,可以直接读取windows文件也不需要来回切换
【回复】2022年10月底,已经没什么性能差异了,很小,比直接在windows快多了
【回复】23年1月, wsl 约等于原生Ubuntu性能[脱单doge]
Alioth2000:
wsl2真的很舒服,我就一直这样用的,暂时没遇到过什么问题,性能损耗也不大

【回复】回复 @Alioth2000 :我换了电脑装了WSL2过后反正没装过虚拟机了,有时候跑服务器直接在WSL上ssh一下就好了
【回复】回复 @小万同学哦 :Windows的命令行也可以用ssh命令啊[思考]
【回复】回复 @水冻儿 :卸载掉重装吧
忆_天依:
我试了一下,wsl2出现了意料之外的cuda oom,同样的代码windows直接跑就没问题,查了一下,发现wsl2 有一个非常严重的已知问题(来自英伟达官方指南https://docs.nvidia.com/cuda/wsl-user-guide/index.html): Pinned system memory (example: System memory that an application makes resident for GPU accesses) availability for applications is limited. 众所周知,我们读取训练数据后,不会直接放在gpu上,而是先pin(比如pytorch dataloader提供的pin_memory=True),而这个已知问题很可能导致wsl2上比windows上读取数据的效率更低(因为你pin memory 有限,每次读取的量就得减少)。所以网上说wsl2更慢的是因为所使用的数据本身加载比较慢,或数据量大,io是瓶颈。而说wsl2更快的,则是因为数据本身更容易快速加载,不占太多空间和时间,网络本身或其他预处理更占时间

【回复】而且这个问题不仅仅会拖累io,还可能导致你不能在wsl2上使用和windows上一样大的batch size(比如在我自己的一个数据集上,windows最大batch size是71,但是wsl2上仅仅为58,超过就oom,显著降低了可用batch size)
【回复】回复 @忆_天依 :我原来测swin transformer的时候,wsl在batch=1都oom,然而在win下能batch=4,后面直接装双系统了,调试+打游戏+办公在win,真要跑模型就deepin,后来条件好点了又弄了台itx,索性把原来的机器当ubuntu gpu服务器
【回复】我4卡不能全部启用,启用三张就可以,4张就报显存不足,折腾了三四天没折腾好
马赛柯柯:
去年年底试过Win11➕wsl2跑cuda(因为当时Win10的合适的dev channel镜像被隐藏了下载不了)用的pytorch1.8.2但是貌似训练时很容易崩溃导致系统卡住。折腾了一个星期最后还是得老老实实地爬回Ubuntu20[酸了]

【回复】尽量不要装最新的pytorch,我经常遇到环境问题
今晚可不再熬夜:
想问下要学linux要怎么学呢,最近老师要我们用docker,然后就涉及到了wsl2,linux,感觉是个很好的东西,能把window的内容和代码隔离开,但一看到纯黑框就有点发怵,不知道从哪里开始学😰

【回复】回復 @IMBA纸蓝 :美化终端的尽头是默认,最后连gui都懒得装了[嗑瓜子]
【回复】建议先从美化终端学起[doge]最起码不会那么抵触了
【回复】回复 @DXCNS_Studio :确实hhh,但是不可否认捯饬美化的过程中一些基础的操作会变得熟练,生命在于折腾[大笑]折腾累了就默认[doge]
YT抹茶:
直接更吧,wsl搭cuda快搭疯了,救救孩子吧[大哭]

你的匿名网友哟:
在win10 上跑训练的速度的确比ubuntu 慢多了, 很期待UP出个教大家如何用WSL2搭建Pytorch+CUDA环境 教程,感谢!

chenjunnnnn:
wsl2网络环境比较难搞,而且wslg的性能也不尽人意[无语] 我现在还是跟VMware混着用

【回复】过度使用还是得装系统,虚拟机不能共享硬件,性能更差
【回复】回复 @小万同学哦 :我现在用gpu就wsl2,要桥接网络就VMware[doge]
【回复】而且外设也很麻烦,搞机器人想接个相机接个串口还得通过usbip,走网络的方式[辣眼睛]
转身遇到你乄:
wsl1和wsl2都支持GPU的。另外Windows下不支持nccl,多卡训练GG。 综上,还是上Ubuntu吧!

忆_天依:
请问一下在wsl下运行深度学习库相比在windows下有什么优势呀。感觉我平时直接在win下也没什么问题

【回复】有一部分甚至大部分项目都是在linux环境下开发的,你直接在win上跑不了,如果你的代码能在win上跑那就无所谓,我最近看了好几个源码都没支持win的环境,而且win部署某些项目的环境与linux比起来更麻烦一些
【回复】回复 @小万同学哦 :好的,非常感谢
我真的不懂音乐呜呜:
wsl下用gpu速度和直接用win下gpu速度上会不会有差距啊

【回复】我感觉刚开始调用的时候有点影响,跑起来后就没啥影响了,不过我没具体测过

Ubuntu WSL2 GPU CUDA 深度学习 Linux Pytorch 打卡挑战 Faster R-CNN 必剪创作

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