cuda报错,程序不训练,acc不增长,loss为Nan

程序第一个epoch不能开始训练,报错:Internal: Invoking GPU asm compilation is supported on Cuda non-Windows platforms only
Relying on driver to perform ptx compilation.

img


实在不知道是哪里出了问题,程序是在笔记本上调试好的,完全可以跑通,精度还不错,新主机刚刚配完环境发现报错,过很久第一个epoch才开始训练,而且loss不是为nan就是验证精度一直不变且<20%

img


有没有小伙伴知道这种怎么解决或者是哪里到底出了问题呢

30系显卡要求11.0以上的cuda,推荐11.7

GPU是什么,tf版本多少.
你截图这两个不影响的才对,这个是警告而不是error

这种情况通常是GPU驱动或CUDA版本与TensorFlow版本不兼容导致的。有几个方面需要检查:

  1. 检查CUDA版本是否支持TensorFlow

TensorFlow目前支持CUDA 9.0-10.2版本,建议安装在这个范围内的版本。如果安装的版本过高或过低,会导致不兼容。

  1. 检查 cuDNN 版本是否匹配

TensorFlow依赖cuDNN库,cuDNN版本需要与CUDA版本匹配,并且也需要在TensorFlow支持的版本范围内。

  1. 检查NVIDIA驱动版本

CUDA和TensorFlow都依赖于NVIDIA驱动,驱动版本也需要与CUDA/cuDNN版本兼容,并足够新。过旧的驱动版本也会导致问题。

  1. 禁用cudnrt.dll

有些情况下,cudnrt.dll会导致CUDA程序异常。可以尝试禁用它。在安装CUDA时,选择自定义安装,不安装cudnrt.dll。

  1. 重装/卸载CUDA和TensorFlow

如果以上检查都没有问题,仍然报错或训练异常,建议尝试重装CUDA与TensorFlow,或彻底卸载后重新安装,确保环境配置干净。

  1. 其他硬件检查

也有可能是其他硬件问题导致,如显卡故障、CPU不稳定等。可以运行其他CUDA示例程序测试GPU运算是否正常。

综上,首先检查软件依赖的版本与兼容性问题,CUDA、cuDNN和TensorFlow版本是否匹配,NVIDIA驱动是否最新。如果还是不行,则考虑重装环境或硬件等问题。

希望以上建议能帮助你解决TensorFlow GPU训练的问题。如有任何其他疑问,欢迎在评论中提出。