参考文章链接:https://blog.csdn.net/ghy_111/article/details/86672450
感谢老兄的文章帮我搞定了这个问题,本文会做一些补充
本人配置:
GEFORCE RTX 2060
Win10
CUDA10.0
cuDNN7.6
tensorflow-gpu-2.0.0
本文中只包含tf2.0的解决方案,tf1的解决方案请参考本文的参考文章链接。
我的程序是在jupyter notebook中跑的,notebook只有一个UnknownError的报错。我在控制台中找到了一些新的信息。
Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED
这意思是cudnn分配不出更多的运算资源了。
网上有很多人说这是因为显卡太渣了…就目前情况来看,如果一台算力7.4的显卡还太渣的话,那真不知道什么显卡不渣了…
在确定自己tensorflow、cuda、cudnn版本
这种问题只能是显存资源的分配问题导致的
tensorflow有两种显存分配方式:
- 仅在需要时申请显存空间(程序初始运行时消耗很少的显存,随着程序的运行而动态申请显存);
- 限制消耗固定大小的显存(程序不会超出限定的显存大小,若超出的报错)。
而默认是第二种!!!
这就能解释为什么会出现alloc的问题了,所以我们通过下面的代码吧显存分配方式改成第一种就可以了!
import t