windows10 使用tensorflow_gpu==2.0.0 版本跑代码时报错误:
错误描述:

Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED

tensorflow.python.framework.errors_impl.UnknownError: Fail to find the dnn implementation. [Op:CudnnRNN]

原因分析:
这意思是cudnn分配不出更多的运算资源了。

在确定自己tensorflow、cuda、cudnn版本都正确的前提下,

tensorflow_gpu==2.0.0 cuda10.0 cudnn7.6.4
这种问题只能是显存资源的分配问题导致的.

tensorflow有两种显存分配方式:

1、仅在需要时申请显存空间(程序初始运行时消耗很少的显存,随着程序的运行而动态申请显存);
2、限制消耗固定大小的显存(程序不会超出限定的显存大小,若超出的报错)。
而默认是第二种!!!

解决办法我们把显存分配方式改成第一种就可以了。

解决办法:

import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices('GPU')
for gpu in gpus:
    tf.config.experimental.set_memory_growth(gpu, True)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐