Tensorflow在训练yolo时报告了CUDA_ERROR_ILLEGAL_ADDRESS漏洞

6gpjuf90  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(198)

这是一个非常奇怪的错误。环境:tf 1.12 +数据库9.0+数据库7.5 +单个RTX 2080
今天我试着在我的新设备上训练YOLO V3网络。批量大小是4。开始时一切都很顺利,训练照常开始,我可以看到训练过程中损耗的减少。
但是,在大约35轮,它报告了一条消息:
2020年3月20日13时52分01秒404576秒E tensorflow/流执行器/cuda/cuda事件.cc:48]轮询事件状态时出错:无法查询事件:CUDA错误非法地址:遇到非法存储器访问2020-03-20 13:52:01.404908:F tensorflow/核心/公共运行时/gpu/gpu事件管理器cc:274]意外事件状态:1
并退出训练过程。
我已经试过几次了。它是随机发生的。可能是训练过程开始后30分钟或几个小时。
但是如果我把批量大小改为2,它就可以训练成功。
那么为什么会发生这种情况呢?如果我的环境不正确或不适合RTX 2080,这个bug应该发生在训练进程的早期而不是中期。我的yolo网络中的层在开始时都是可训练的,所以在训练过程中没有任何变化。为什么它可以在第一轮正确训练而在中期失败?为什么较小的批量可以成功训练?
我现在该怎么办?我能想到的解决办法是:1:在cuda 10 + cudnn 7.5中编译tf 1.12,然后再试一次2:也许更新tensorflow和cuda?所有这些都花费了很多。

eyh26e7m

eyh26e7m1#

检查Cuda/Cudnn/驱动程序版本是否适合您的卡https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-versions-764-765。
如果上述检查结果正常,则此问题可能是因为GPU卡损坏,如@ChrisM所述。

相关问题