Pytorch运行导致炸机重启解决方案

Pytorch运行导致炸机重启解决方案

社蕙 213 2023-03-14

他妈的浪费我两个小时找原因

按照网上的教程一步一步搭yolov3的网络,在搭好测试的那一步(dummy input,都没有训练也没有预加载任何东西),简单的调用model跑一下,输入命令之后两秒内直接黑屏然后重启

软件环境:

win10 专业版 64位

python                    3.9.16               h6244533_2    defaults
pytorch                   1.13.1          py3.9_cuda11.7_cudnn8_0    pytorch

硬件:

详细信息: 
处理器:   英特尔 酷睿 i7-9700K @ 3.60GHz 八核
主板:     技嘉 Z370 HD3-CF(英特尔 Z370 芯片组)
内存:     32GB DDR4 2400MHz ( 8GB x 4)
显卡:     NVIDIA GeForce GTX 1660 Ti ( 6GB / 七彩虹)
磁盘:     WDC WD20EZAZ-00GGJBO (2000GB)
          KIOXIA-EXCERIA G2 SSD (1000GB)
          CT500MX500SSD1 (500GB)
电源:     航嘉 JUMPER600S 600W
  • 将代码从HDD移到SSD,无果
  • 将模型完全改成cpu上运行,无果
  • 单步debug,如果点到一定速度,还是会崩溃,但慢慢点能跑玩
  • 跑win10自带的内存测试,内存无异常
  • 跑图吧工具箱的双烤五分钟,无异常

在几乎崩溃,打算手动在代码里面sleep的时候,看到了知乎 - 做深度学习的台式机不断重启是什么原因?上面赵半仙的回答:

之前忘记在哪里看到个issue讨论串,内容是关于深度学习模型训练中电脑重启现象的

楼里面大致是这么个意见:Pytorch调用CPU较多,导致CPU计算任务重;CPU计算任务重导致Intel Turbo boosting功能启动;Turbo boosting 导致CPU功耗上升,电源供电不足,机器重启。

给的解决方案有几个:

  1. Bios里把turbo boosting关了
  2. Torch换Tensorflow
  3. 买个功率更大的电源

遂进BIOS,在M.I.T(Motherboard Intelligent Tweaker,什么天才想出来的缩写),找到CPU设置,打开超频高级设置,把turbo boosting关掉,遂能正常跑完。

至于到底是什么原因导致的突然重启,也想不明白,再怎么样也不可能把电源600W榨干吧;就算是超频过热,也应该不至于马上关机……只能归因为这块U体质不行,一超就死。

附上一些感想:

9700k陪我我这么多年

原来一直在骗我

我从来没有让她满足过

今天终于第一次把她干到两眼一黑

2023/12/01更新

他妈的!还真不一定是CPU问题,这个电源的调峰能力肯定有问题,换了一个3070ti之后烤鸡五分钟必关机。我现在把turbo重新打开了,到时候看一下顶不顶得住。

2023/12/12更新

破案了就是CPU体质有问题,换了一个850W的电源,乍一看没什么问题,昨天下了一个PS2022,有一个估计是AI驱动的“对象选择”功能,一点开电脑就去世,完全可复现,结合跑pytorch的结果来看就是主板在大负载下试图去超CPU,但是CPU禁不起,boom。关掉turbo boosting之后会卡,但是不会重启了。

该换更好的U了。