Pab*_*oDK 2 python keras tensorflow cudnn
我有一台非常强大的 Windows PC(运行 Windows 10),它有 112GB 内存、16 个内核和 3 X Geforce RTX2070(不支持 SLI 等)。它正在运行 CuDNN 7.5 + Tensorflor 1.13 + Python 3.7
我的问题是我收到以下错误 - 每当我尝试运行 Keras 模型进行训练或对矩阵进行预测时。一开始我认为只有当我同时运行多个程序时才会发生这种情况,但事实并非如此,现在当我只运行 Keras 的单个实例时,我也会收到错误(通常 - 但并非总是如此)
CUBLAS_STATUS_ALLOC_FAILED 2019-06-15 19:33:25.267137:E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] 无法创建 cudnn 句柄:CUDNN_STATUS_ALLOC_FAILED 201730c_FAILED6:-2exetens05205/20173020202008 或 E tensorflow/stream_executor/cuda/cuda_dnn.cc:334 cuda_dnn.cc:334] 无法创建 cudnn 句柄:CUDNN_STATUS_ALLOC_FAILED 异常:无法获得卷积算法。这可能是因为 cuDNN 初始化失败,所以尝试查看上面是否打印了警告日志消息。[[{{node conv2d_1/convolution}}]] [[{{nodedense_3/Sigmoid}}]] 获取卷积算法失败。这可能是因为 cuDNN 初始化失败,所以尝试查看上面是否打印了警告日志消息。[[{{node conv2d_1/convolution}}]] [[{{nodedense_3/Sigmoid}}]] 获取卷积算法失败。这可能是因为 cuDNN 初始化失败,所以尝试查看上面是否打印了警告日志消息。[[{{node conv2d_1/convolution}}]] [[{{nodedense_3/Sigmoid}}]]
在 Tensorflow 2.0 及更高版本上,您可以通过以下方式解决此问题:
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'
Run Code Online (Sandbox Code Playgroud)
或者
physical_devices = tf.config.experimental.list_physical_devices('GPU')
if len(physical_devices) > 0:
tf.config.experimental.set_memory_growth(physical_devices[0], True)
Run Code Online (Sandbox Code Playgroud)