报错:Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initial

一、问题描述

        我在使用tensorflow-gpu的时候出现了报错:1) Unknown: 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.这个错误。

二、问题分析

        1、这个报错信息翻译回中文,大概就是说无法获取卷积,这个问题可能是因为cudnn无法正常初始化。

         2、报错的提示都说了是cuDNN无法初始化引起的错误。那么我们就来分析下吧。首先,我看要考虑,tensorflow-gpu和cudnn的版本是否出现冲突。其次,我们再考虑是否是因为我们GPU缓存问题引起资源不够。

三、问题解决方法

        1、我们由简到繁进行排查错误。首先我们先假定是内存不够造成的,那样的话,我们先把程序关掉,重新运行。比如我这使用的是Jupyter进行编译的,我先把代码保存,然后把jupyter关掉重启,运行代码。

        2、如果不是缓存的问题的话,那就是CUDA,TensorFlow,NVIDIA驱动程序等版本不兼容造成的,这个时候我们就要去更新或者降低对应的版本。当然,如果不知道版本的对应关系的话,可以使用Windows10系统在anaconda下安装tensorflow-gpu(CUDA Toolkit、CUDNN)进行安装。

四、注意

        如果我们是按照Windows10系统在anaconda下安装tensorflow-gpu(CUDA Toolkit、CUDNN)成功安装的话(就是使用anaconda方法安装tensorflow-gpu的方法),且我们之前运行过使用tensorflow-gpu的程序的话,那毫无疑问,出现这个报错就是因为内存不足造成的。如果重启运行没用的话,那就是电脑配置不行了。

你可能感兴趣的:(python基础及报错解决方法,tensorflow-gpu,cuDNN)