成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError报错问题

这篇具有很好参考价值的文章主要介绍了成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError报错问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:在使用TensorFlow2.2训练模型时,加入多GPU训练出现如下错误

tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'NcclAllReduce' used by {{node NcclAllReduce}} with these attrs: [reduction="sum", shared_name="c1", T=DT_FLOAT, num_devices=2]
Registered devices: [CPU, GPU, XLA_CPU, XLA_GPU]
Registered kernels:
  <no registered kernels>

	 [[NcclAllReduce]] [Op:__inference_train_function_81214]

这个错误是发生在使用多个GPU进行并行训练的时候,使用单个GPU训练的时候并没有报错。

运行环境

  • 训练的模型yolox
  • 系统:Win10
  • tensorflow-gpu版本:2.2.0
  • 使用2张GPU

报错原因:
MirroredStrategy默认使用NCCL进行跨设备通信,而NCCL在Windows上不可用,也就是说这种默认的多GPU分布式训练模式不支持win系统;所以需要修改多GPU训练模式。

解决问题:
Ctrl+F,在train.py文件中检索‘strategy’关键词,发现如下

	if ngpus_per_node > 1:
		strategy = tf.distribute.MirroredStrategy( )
	else:
		strategy = None
	print('Number of devices: {}'.format(ngpus_per_node))

添加训练模式如下:

	if ngpus_per_node > 1:
		strategy = tf.distribute.MirroredStrategy(devices=["/gpu:0", "/gpu:1"], cross_device_ops=tf.distribute.HierarchicalCopyAllReduce())
	else:
		strategy = None
	print('Number of devices: {}'.format(ngpus_per_node))

错误消失,模型成功开始训练了!
成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError报错问题

不容易啊,排查了整整一上午,记录一下!!网上的介绍没有明确说怎么修改,完全知不道怎么改,后来仔细读了下面的GPU分布式训练才改对。

参考网页:多GPU分布式训练;错误问题原因。文章来源地址https://www.toymoban.com/news/detail-513234.html

到了这里,关于成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError报错问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 成功解决 cv2.error: OpenCV(4.6.0) D:\a\opencv-python以及Assertion“t>=0&&t<=n_classes“failed(训练PSPNet)

    在上一篇的问题之后,我又遇到了如下问题: cv2.error: OpenCV(4.6.0) D:aopencv-pythonopencv-pythonopencvmodulesimg 意思是输入为空,那就是我找的训练集有问题 这篇文章(PSPNet)用的是ADE20k数据集,我从网上(http://sceneparsing.csail.mit.edu/)下载了训练图片和标注,改路径改了好久,把

    2023年04月08日
    浏览(27)
  • 成功解决Error: Cannot find module ‘html‐webpack‐plugin‘

    执行npm run build的时候发现  Cannot find module \\\'html-webpack-plugin\\\'   -S 表示添加到生产环境中,npm I -D 表示开发环境使用,所以可能没有安装到开发环境中 解决如下

    2024年02月04日
    浏览(33)
  • 成功解决cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgcodecs\src\loadsave.

    在运行MODNet的过程中,输入参数后遇到了以下问题: 导致此报错有两种原因: 一、路径问题 1.路径中不能存在中文 2.路径分隔用”“或”/“ 二、输出问题 我的参数如下: output应该写至输出图片名称 运行成功

    2024年02月11日
    浏览(41)
  • Git删除分支不成功,提示:error: Cannot delete branch......的问题解决

    一 问题来源       本地的代码仓库里面,有很多分支,随着项目的不断迭代,这样的分支变得越来越多。于是想把这样的分支给删掉,在删除分支的时候,报错: error: Cannot delete branch \\\'\\\' checked out at \\\'/Users/GoProject/src/code ,对应的提示如下: 二 解决问题       首先需要说

    2024年02月12日
    浏览(41)
  • 阿里云弹性云桌面安装失败问题解决记录(.net framework 4.6.2 or later:Error Code: 12029)

    1,问题 图像显示客户端安装错误     然后我就手动下载了,这个文件 下载好之后是这个文件     然后安装一下就报了这个错误 .net framework 4.6.2 or later:Error Code: 12029 这个问题是.net framework 4.6.2文件有问题,把他重新安装就好了 然后又发现.net framework 4.6.2安装不了 解决了这个

    2024年02月06日
    浏览(33)
  • chatgpt 1020 错误码成功解决(三种方案) Chatgpt Access denied Error code 1020如何解决?

    最近很多小伙伴在尝鲜chatGPT,使用中遇到网站的1020的错误码,博主也遇到了相似的问题,不同的人运行环境不一样,可能解决方案不一样,接下来为大家提供几种解决思路,博主通过这种方法成功解决了,希望能帮到大家。 从前两天网上开始一直开着的chatgpt网页突然打不开

    2024年02月12日
    浏览(33)
  • 成功解决:ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。

    报错截图展示: 在更新的d2l时,输入pip install d2l --upgrade 的更新命令,出现了以上的报错。  报错原因: 安装所需的权限不够,安装在系统目录下的包,需要访问管理员权限。 解决方法: 根据提示在指令后面添加--user即可       pip install --user 包名  注意: --user的比较随意

    2024年02月15日
    浏览(37)
  • MacOS 系统成功安装 tensorflow 步骤

    OS Platform and Distribution macos Ventura 13.1 Architecture Intel x86_64 Tensorflow Version tf 2.11.0 Python version 3.9.13 Bazel version 5.3.0 Xcode version 14.2 macOS设置 miniconda创建虚拟环境及tensorflow依赖项安装 安装Bazel 下载 TensorFlow 源代码 配置 build 安装测试软件包 1、第三方源码包无法下载 问题现象: 解决

    2024年04月28日
    浏览(28)
  • cv2.error: OpenCV(4.8.1) /io/opencv/modules/dnn/src/net_impl.cpp:279: error: (-204:Requested object

    使用stable diffusion webui进行图片预处理(preporcess images)的时候,当勾选了自动聚焦裁减(Auto focal point crop)的时候发生了错误: 是由于使用了opencv库进行聚焦的时候报错,原因是opencv版本问题,降低opencv版本即可解决:

    2024年02月07日
    浏览(32)
  • 检测安装Tensorflow后是否成功调用GPU

    在安装好tensorflow及其相关部件后,我们可以通过以下方法去检测Tensorflow是否成功调用了GPU。   目录 本人配置注明: 检测Tensorflow是否调用GPU 方法一 方法二 本人tensorflow、CuDA等部件版本如下: Tensorflow 2.7.0 Python 3.7.11 关于各部件版本对应问题,我会尽快发帖说明。 输入以下

    2024年02月03日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包