成功解决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 = Noneprint('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 = Noneprint('Number of devices: {}'.format(ngpus_per_node))
错误消失,模型成功开始训练了!
不容易啊,排查了整整一上午,记录一下!!网上的介绍没有明确说怎么修改,完全知不道怎么改,后来仔细读了下面的GPU分布式训练才改对。
参考网页:多GPU分布式训练;错误问题原因。
成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError报错问题相关推荐
- 成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index 1 of dimension 0 out o
成功解决tensorflow.python.framework.errors_impl.InvalidArgumentError: slice index 1 of dimension 0 out o ...
- 成功解决tensorflow.python.framework.errors_impl.NotFoundError: FindFirstFile failed for: ../checkpoints
成功解决tensorflow.python.framework.errors_impl.NotFoundError: FindFirstFile failed for: ../checkpoints ...
- 解决tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[0,32] = -1 is not in [0, 50)
今晚遇到了一个很神奇的问题,在tensorflow embedding过程中: File "/root/Handwriting/Diffusion-Handwriting-Generatio ...
- tensorflow.python.framework.errors_impl.InvalidArgumentError exception str() failed解决办法
项目场景: 这几天使用python2.7+tensorflow1.8写目标提取及情感分析的模型.因为参考的论文模型代码是这个环境,不得已使用了tensorflow1.8, tensorflow1.8很 ...
- GAN实验错误记录——tensorflow.python.framework.errors_impl.InvalidArgumentError
报错提示 tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both te ...
- tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.
nohup python train_rcnn.py & 进行目标检测模型的训练,绝大部分情况下开始甚至好一段时间都OK, 可是,,,, 训练过程中,有时候训练刚开始,有时候训练经过了几个小时 ...
- Debug Tensorflow: tensorflow.python.framework.errors_impl.InvalidArgumentError: OpKernel ‘ConcatV2‘
环境 Ubuntu 18.04 Tensorflow-gpu 2.4 报错 Traceback (most recent call last):File "nn/cnn.py", ...
- tensorflow.python.framework.errors_impl.InvalidArgumentError 0 successful operations.0 derived erro
问题如下图所示,可能每个人遇到的问题有所差异,但基本都是tensorflow.python.framework.errors_impl.InvalidArgumentError.查了好久,还是没能解决 ...
- python错误tensorflow.python.framework.errors_impl.InvalidArgumentError Assign requires shapes of both
python 错误tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of bot ...
最新文章
- 猛增 174K Star!前端最流行的 10 大顶级开源项目!
- 全面解读:微信服务号升级和群发增至4条的应用方法
- AS 自定义 Gradle plugin 插件 案例 MD
- splunk中 如何隐藏input_翻糖制作中,如何避免裂缝,如何隐藏裂缝,如何防粘?...
- MediaPlayer 的prepareAsync called in state 8 错误
- 插件五之滚动条jquery.slimscroll.js
- 开课吧:现阶段人工智能应用涉及到哪些行业?
- 江民10日病毒播报称:小心“硬盘魔鬼”等病毒感染
- realtek高清晰音频管理器没有设备高级设置怎么设置音箱与耳机同时响
- HTML5 drag属性
- laravel:如何快速实现数据填充,创建模拟数据(使用seeder)
- Bootstrap颜色对应对照表
- Android 自定义软键盘实现 数字九宫格
- hud抬头显示器哪个好_什么样的HUD抬头显示器好?圆盾用是实力说话
- uni-app老年模式字体设置思路
- Oracle 轻量级实时监控工具 oratop
- 汽车数据分析,2022年汽车产量总体高于2021年,年产量增长了6%左右
- EyouCMS响应式幽默笑话搞笑短文网站模板/资讯类文章发布网站模板
- MRS IoTDB时序数据库的总体架构设计与实现
- Linux 学习笔记(借鉴黑马程序员Linux课程)