【深度学习】Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so t

本人TensorFlow-gpu 2.0 电脑显卡1650ti。

有时候电脑明明gpu没任何占用,跑深度学习代码还是会出现以下这个报错:在这里插入图片描述

UnknownError: 2 root error(s) found. (0) 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. [[{{node conv2d_1/convolution}}]] [[Mean/_369]] (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. [[{{node conv2d_1/convolution}}]] 0
successful operations. 0 derived errors ignored.

首先在代码前设置gpu

import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'	#设置GPU

打开任务管理器–性能,就可以看到自己的GPU是哪个。
我这里是GPU 0,故设置GPU :os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘0’
在这里插入图片描述

接着设置按需申请GPU显存占用

import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.7  # 程序最多只能占用指定gpu70%的显存
config.gpu_options.allow_growth = True      #程序按需申请内存
sess = tf.Session(config = config)

或者

import tensorflow as tf
import keras
config = tf.compat.v1.ConfigProto(allow_soft_placement=True)
config.gpu_options.per_process_gpu_memory_fraction = 0.3#设置gpu占用
tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config))

可以根据自己的GPU性能,调节GPU占用显存,0.7→0.8、0.9、0.6、0.5…都试试,然后选择跑代码最稳定占用显存最高的就可以达到最大的效率了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值