PeterH0323 / Smart_Construction

Base on YOLOv5 Head Person Helmet Detection on Construction Sites,基于目标检测工地安全帽和禁入危险区域识别系统,🚀😆附 YOLOv5 训练自己的数据集超详细教程🚀😆2021.3新增可视化界面❗❗
GNU General Public License v3.0
2.19k stars 464 forks source link

关于打包exe问题 #54

Closed whuhit closed 2 years ago

whuhit commented 3 years ago

感谢作者的分享。非常棒的工作。

有个bug,不知道其他人遇到过没。我这边打包成exe后可以运行,但是一直会有一个终端cmd反反复复的打开和关闭。

kuailefeifei commented 2 years ago

我也发现了同样的问题,经过调试发现是使用 QTimer 导致的,我目前的做法是把 QTimer 的相关代码 comment 掉

kuailefeifei commented 2 years ago

经过 debug,发现跟 QTimer 模块没有关系,是因为 GPUtil 查询 GPU 显存占用这个函数导致的,解决方案是使用 pynvml 来获取显存占用,这样打包成 exe 之后终端 cmd 就不会再出现了

PeterH0323 commented 2 years ago

经过 debug,发现跟 QTimer 模块没有关系,是因为 GPUtil 查询 GPU 显存占用这个函数导致的,解决方案是使用 pynvml 来获取显存占用,这样打包成 exe 之后终端 cmd 就不会再出现了

我之前使用 pynvml 的时候找不到显卡使用率这个参数,所以后面使用了 GPUtil。 你可以使用 pynvml 读取显卡的使用率这个参数吗?不知道是不是我之前不够仔细。

kuailefeifei commented 2 years ago

我使用 pynvml 只能拿到 used 和 total,然后相除得到显存占用。但是得到的值非常稳定,哪怕是在模型运行的时候,所以可能不是那么精准,而 GPUtil 获取的显存占用是时刻动态变化的

PeterH0323 commented 2 years ago

OK,如果您不需要界面下面的使用率的话,改成使用 pynvml 也是可以的,感谢您的排查。 😄

PeterH0323 commented 2 years ago

那我先关闭了,如果对您有帮助,请帮我点个星星,这是对我最好的鼓励,谢谢!

kuailefeifei commented 2 years ago

不客气,已经 star 了,感谢作者的开源工作