我在使用tensorflow_gpu2.1跑模型的时候遇到了这个问题:
tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[node sequential/conv2d/Conv2D (defined at /UserData/Desktop/Graduated_Covid_Project/model_baseline.py:88) ]] [Op:__inference_distributed_function_957]
立刻定位原因:
1 cpu资源不够了,查:命令行输入nvidia-smi
gpu资源还有,不是这个问题
2 会不会是自己的代码问题,这个还不确定,留待细查,先排除下一个原因。
3 会不会是数据集的问题,检查了生成的数据集也没有问题。
4 会不会是显卡和驱动不兼容的问题,想了一下,这个不可能,我在之前为了安装tf_gpu版本的已经把cuda版本校验过了,还顺利通过了测试。
最终定位到自己的代码细查:
现重新写一个最基本的模型跑一下,发现没问题,然后一点点添加对比:
最终发现了原来是下面这两行的问题:
能跑的:
不能跑的:
瞬间炸裂,我他喵真是个智障呀,
内存分配过多了呀,居然还写了提醒的备注。。。