Node: ‘conv2d_transpose_1/conv2d_transpose/Conv2DBackpropFilter‘No algorithm worked Error messages

本文主要是介绍Node: ‘conv2d_transpose_1/conv2d_transpose/Conv2DBackpropFilter‘No algorithm worked Error messages,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

情况说明

用tensorflow在GPU上跑一个fit,模型里用到了两个卷积函数layers.Conv2D和layers.Conv2DTranspose
epoch时出错,具体错误日志见下文,一开始Conv2D位置报错

解决过程

(1)搜索到一个类似的:No algorithm worked!,即代码开头加上以下设置

from tensorflow.config.experimental import list_physical_devices, set_memory_growth
physical_devices = list_physical_devices('GPU')
set_memory_growth(physical_devices[0], True)

(2)现在Conv2DTranspose位置报错,据错误日志推测大概是调用cudnn跑卷积转置失败,使用错误日志搜索无果后,使用关键词“cudnn运行反卷积gpu失败”,同样参考类似问题:Could not load library cudnn_cnn_infer64_8.dll,可能是cudnn的底层cnn计算库本身有问题,学博主的降一个cudnn版本

总结

  • 解决方案就是【加代码+cudnn降版本】
  • 当前版本环境:window10、tensorflow2.8.0、cuda11.2.2、cudnn8.1.0.77,下载地址如下:
    • tensorflow官方文档
      pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow
      
      这里临时使用了清华镜像站作为源地址,因为官方源地址下载非常慢
      #  查看pip当前设置的源地址
      pip config list
      # 升级pip
      python -m pip install --upgrade pip
      # 默认使用清华镜像站,详情网址https://mirror.tuna.tsinghua.edu.cn/help/pypi/
      pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
      # 官方源站https://pypi.org/simple
      
    • cuda11.2.2 我本来装的当前最新版cuda11.6+cudnn8.2,考虑到tensorflow官网上跑GPU的软件要求,就开始换cuda版本,先在控制面板里卸载带有CUDA名字的,大概有6个,再用CCleaner排查注册表问题,再安装11.2
      在这里插入图片描述
    • cudnn,cudnn8.1.0.77
  • 其间接连从anaconda里卸载tensorflow,直接安装到终端之类的,然并卵
  • 其间还尝试只用CPU跑来排除到底是不是GPU环境配置的问题
    import os
    os.environ["CUDA_VISIBLE_DEVICES"]="-1"
    

错误日志

NotFoundError: Graph execution error: Detected at node ‘gradient_tape/denoise/sequential_1/conv2d_transpose_1/conv2d_transpose/Conv2DBackpropFilter’ defined at (most recent call last):

Node: ‘gradient_tape/denoise/sequential_1/conv2d_transpose_1/conv2d_transpose/Conv2DBackpropFilter’
No algorithm worked! Error messages:
Profiling failure on CUDNN engine 1#TC: UNKNOWN: CUDNN_STATUS_INTERNAL_ERROR
in tensorflow/stream_executor/cuda/cuda_dnn.cc(4177): ‘cudnnConvolutionBackwardFilter( cudnn.handle(), alpha, input_nd_.handle(), input_data.opaque(), output_nd_.handle(), output_data.opaque(), conv_.handle(), ToConvBackwardFilterAlgo(algo), scratch_memory.opaque(), scratch_memory.size(), beta, filter_.handle(), filter_data.opaque())’
Profiling failure on CUDNN engine 1: UNKNOWN: CUDNN_STATUS_INTERNAL_ERROR
in tensorflow/stream_executor/cuda/cuda_dnn.cc(4177): ‘cudnnConvolutionBackwardFilter( cudnn.handle(), alpha, input_nd_.handle(), input_data.opaque(), output_nd_.handle(), output_data.opaque(), conv_.handle(), ToConvBackwardFilterAlgo(algo), scratch_memory.opaque(), scratch_memory.size(), beta, filter_.handle(), filter_data.opaque())’
Profiling failure on CUDNN engine 0#TC: UNKNOWN: CUDNN_STATUS_EXECUTION_FAILED
in tensorflow/stream_executor/cuda/cuda_dnn.cc(4177): ‘cudnnConvolutionBackwardFilter( cudnn.handle(), alpha, input_nd_.handle(), input_data.opaque(), output_nd_.handle(), output_data.opaque(), conv_.handle(), ToConvBackwardFilterAlgo(algo), scratch_memory.opaque(), scratch_memory.size(), beta, filter_.handle(), filter_data.opaque())’
Profiling failure on CUDNN engine 0: UNKNOWN: CUDNN_STATUS_EXECUTION_FAILED
in tensorflow/stream_executor/cuda/cuda_dnn.cc(4177): ‘cudnnConvolutionBackwardFilter( cudnn.handle(), alpha, input_nd_.handle(), input_data.opaque(), output_nd_.handle(), output_data.opaque(), conv_.handle(), ToConvBackwardFilterAlgo(algo), scratch_memory.opaque(), scratch_memory.size(), beta, filter_.handle(), filter_data.opaque())’
Profiling failure on CUDNN engine 3#TC: UNKNOWN: CUDNN_STATUS_INTERNAL_ERROR
in tensorflow/stream_executor/cuda/cuda_dnn.cc(4177): ‘cudnnConvolutionBackwardFilter( cudnn.handle(), alpha, input_nd_.handle(), input_data.opaque(), output_nd_.handle(), output_data.opaque(), conv_.handle(), ToConvBackwardFilterAlgo(algo), scratch_memory.opaque(), scratch_memory.size(), beta, filter_.handle(), filter_data.opaque())’
Profiling failure on CUDNN engine 3: UNKNOWN: CUDNN_STATUS_INTERNAL_ERROR
in tensorflow/stream_executor/cuda/cuda_dnn.cc(4177): ‘cudnnConvolutionBackwardFilter( cudnn.handle(), alpha, input_nd_.handle(), input_data.opaque(), output_nd_.handle(), output_data.opaque(), conv_.handle(), ToConvBackwardFilterAlgo(algo), scratch_memory.opaque(), scratch_memory.size(), beta, filter_.handle(), filter_data.opaque())’
[[{{node gradient_tape/denoise/sequential_1/conv2d_transpose_1/conv2d_transpose/Conv2DBackpropFilter}}]] [Op:__inference_train_function_973]

这篇关于Node: ‘conv2d_transpose_1/conv2d_transpose/Conv2DBackpropFilter‘No algorithm worked Error messages的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/493376

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

Node Linux相关安装

下载经编译好的文件cd /optwget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.gztar -xvf node-v10.15.3-linux-x64.tar.gzln -s /opt/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/ln -s /opt/nod

编译linux内核出现 arm-eabi-gcc: error: : No such file or directory

external/e2fsprogs/lib/ext2fs/tdb.c:673:29: warning: comparison between : In function 'max2165_set_params': -。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。 。。。。。。。。 host asm: libdvm <= dalvik/vm/mterp/out/Inte