【tensorflow系列】问题解决:Failed to get convolution algorithm.

it2024-04-11  48

这个问题目前可能是由两个方面造成的:

GPU显存不够;CUDNN版本过低

先检查第一个方面:

处理GPU显存不够的问题

系统环境:Ubuntu18.04 1.监视GPU显存的占用率

watch -n 0.1 nvidia-smi

然后允许程序监控GPU显存占有率,如果迅速上升,接近上限后程序出错,那么肯定是显存不够。

2.在tensorflow程序中动态分配显存

from tensorflow import GPUOptions from tensorflow import ConfigProto 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)

参考博客:https://blog.csdn.net/tsyccnh/article/details/102938368

CUDNN版本过低

解决完显存溢出问题后,又再次允许这个程序,显存没有溢出,程序依旧报错,这可能是cudnn版本过低的问题。 重新下载高版本的cudnn即可。 可参考博客:https://blog.csdn.net/sazass/article/details/86755077

最新回复(0)