使用Tensorflow-gpu出现错误:
错误提示
Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
****Error: 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.
错误主要指向cudnn,但是CUDA版本和cudnn版本是符合当前tensorflow要求的(言下之意无需对CUDA版本和cudnn版本进行更改)
因此只能是GPU占用问题导致的(言下之意不是因为程序需要多次调用gpu而导致的错误)
解决方法如下:**
设置GPU按需分配方式
tensorflow-gpu 2.3.1(一定要注意tensorflow的版本)****
config= tf.compat.v1.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.7 #0.7为参数,含义为分配给gpu-memory的比例
sess=tf.compat.v1.Session(config=config)
旧版本的tensorflow-gpu
`config= tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.7 #0.7为参数,含义为分配给gpu-memory的比例
sess=tf.Session(config=config)`
*设置GPU动态申请显存
tensorflow-gpu 2.3.1(一定要注意tensorflow的版本)****
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.compat.v1.Session(config=config)
旧版本的tensorflow-gpu
`config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)