「Failed to get convolution algorithm. This is probably because cuDNN failed to initialize」錯誤的解決辦法

換了一臺RTX2060的電腦以後,用tensorflow作實驗發現沒有使用GPU,那我換電腦就沒有意義了。而後百度發現tensorflow-gpu纔是使用GPU來運算的。因而又花了三個多小時來下載安裝,爲啥比CPU的複雜這麼多,唉~。終於安裝成功以後,運行程序的時候又報錯,也就是本文這個錯誤,查閱資料後發現解決方法,因而記錄一下。php

這是GPU內存的問題
tensorflowsession

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)

kerascode

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
keras.backend.tensorflow_backend.set_session(tf.Session(config=config))

或者內存

config = tf.compat.v1.ConfigProto(allow_soft_placement=True)
config.gpu_options.per_process_gpu_memory_fraction = 0.3
tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config))

詳細解析get

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES'] = "0,1"//選擇哪一塊gpu,若是是-1,就是調用cpu

config = tf.ConfigProto()//對session進行參數配置
config.allow_soft_placement=True : 若是你指定的設備不存在,容許TF自動分配設備
config.gpu_options.per_process_gpu_memory_fraction=0.7//分配百分之七十的顯存給程序使用,避免內存溢出,能夠本身調整
config.gpu_options.allow_growth = True//按需分配顯存,這個比較重要
session = tf.Session(config=config)
##或者
with tf.Session(config=config) as sess:

南島鶓博客博客

相關文章
相關標籤/搜索