• 关键字:rank优化方法损失函数

  • 问题描述:执行定义损失函数代码后,再执行优化方法就报错,提示执行失败,dy_dims.size():1 != rank:2。

  • 报错信息:

/usr/local/lib/python3.5/dist-packages/paddle/fluid/optimizer.py in minimize(self, loss, startup_program, parameter_list, no_grad_set)253         """254         params_grads = append_backward(loss, parameter_list, no_grad_set,
--> 255                                        [error_clip_callback])256 257         params_grads = sorted(params_grads, key=lambda x: x[0].name)/usr/local/lib/python3.5/dist-packages/paddle/fluid/backward.py in append_backward(loss, parameter_list, no_grad_set, callbacks)588     _rename_grad_(root_block, fwd_op_num, grad_to_var, {})589
--> 590     _append_backward_vars_(root_block, fwd_op_num, grad_to_var, grad_info_map)591 592     program.current_block_idx = current_block_idx/usr/local/lib/python3.5/dist-packages/paddle/fluid/backward.py in _append_backward_vars_(block, start_op_idx, grad_to_var, grad_info_map)424         # infer_shape and infer_type425         op_desc.infer_var_type(block.desc)
--> 426         op_desc.infer_shape(block.desc)427         # ncclInit dones't need to set data_type428         if op_desc.type() == 'ncclInit':EnforceNotMet: Enforce failed. Expected dy_dims.size() == rank, but received dy_dims.size():1 != rank:2.
Input(Y@Grad) and Input(X) should have the same rank. at [/paddle/paddle/fluid/operators/cross_entropy_op.cc:82]
PaddlePaddle Call Stacks:
  • 问题复现:定义一个交叉熵损失函数,直接使用这个损失函数传给优化方法,再执行到这一行代码就出现这个问题。错误代码如下:
cost = fluid.layers.cross_entropy(input=model, label=label)optimizer = fluid.optimizer.AdamOptimizer(learning_rate=0.001)
opts = optimizer.minimize(cost)
  • 问题解决:训练是一个Batch进行训练的,所以计算的损失值也是计算一个Batch的损失值。优化方法参数使用的是一个平均的损失函数,所以不能直接使用损失函数,还需要对损失函数求平均值。正确代码如下:
cost = fluid.layers.cross_entropy(input=model, label=label)
avg_cost = fluid.layers.mean(cost)optimizer = fluid.optimizer.AdamOptimizer(learning_rate=0.001)
opts = optimizer.minimize(avg_cost)
  • 问题拓展:如果在训练的时候,fetch_list参数使用的是cost,而不是avg_cost的话,训练输出的也会是一个Batch的损失值。所以在训练的时候,fetch_list参数的值最好使用avg_cost,输出的是平均损失值,从而更方便观察训练情况。

PaddlePaddle在优化方法处报错 EnforceNotMet: Enforce failed相关推荐

  1. PaddlePaddle运行时出现EnforceNotMet: Enforce failed错误

    报错信息 EnforceNotMet: Enforce failed. Expected lbl < class_num, but received lbl:6 >= class_num: ...

  2. 安装R包报错 [tcl] grab failed: window not viewable.的解决方案

    安装R包报错 [tcl] grab failed: window not viewable.的解决方案 ##方法一:用下代码自己选择镜像 chooseCRANmirror(graphics=F) ## ...

  3. gitlab报错 fatal: index-pack failed error: RPC failed; result=18, HTTP code = 200解决方案

    gitlab报错 "fatal: index-pack failed error: RPC failed; result=18, HTTP code = 200",如下图 这个问题 ...

  4. centos6.5报错:checking filesystems failed问题处理

    centos系统重启报错:checking filesystems failed checking filesystems /dev/mapper/vg_0-root: 搜了下可能是文件系统损坏 根据 ...

  5. cordova编译报错:Execution failed for task ':processDebugResources'

    cordova编译报错:Execution failed for task ':processDebugResources' 引发这个错误的最扩祸首就是一个中文命名的文件,不知道什么时候加入的,我写了 ...

  6. git配置报错fatal: Authentication failed for ‘‘问题解决

    git配置报错fatal: Authentication failed for ''问题解决 参考文章: (1)git配置报错fatal: Authentication failed for ''问题 ...

  7. windows10下编译dllib报错: ERROR: Failed building wheel for dlib

    一.报错信息 在安装dlib的时候,使用pip进行安装 pip install dlib 二.解决方式 1.检查自己是否已经安装了cmake 首先要检测自己本机是否已经安装了cmake,因为安装dli ...

  8. maven 项目报错Context initialization failed

    Context initialization failed 当我对maven 项目进行clean 的时候再次打开就报错Context initialization failed 同时i显示找不到dao ...

  9. 使用nsenter进入docker容器后端报错 mesg: ttyname failed: No such file or directory

    通过nsenter 进入到docker容器的后端总是报下面的错,, [root@devdtt ~]# docker inspect -f {{.State.Pid}} mynginx4 11950 [ ...

最新文章

  1. Iphone控件大全
  2. socket编程listen函数限制连接数的解决方案_网络编程——服务器篇
  3. JZOJ 5907. 【NOIP2018模拟10.16】轻功(qinggong)
  4. java 动态树_使用dtree构建动态树型菜单
  5. c语言由n个斐波纳函数,6、C语言 —— 字符串
  6. iText关于中文的解决方案
  7. RocketMQ之一:RocketMQ整体介绍
  8. 协作机器人关节模组总结
  9. 【人脸姿态】2D人脸姿态估计的两种方式:solvePnP与3DMM参数
  10. 计算机中及格人数怎么算,在excel中如何计算及格率和优秀率及统计各分数段人数...
  11. CTFShow“萌心区”WP(上)
  12. 浙大数据结构习题笔记:顺序表与单链表
  13. 时间末尾多了.000Z?
  14. Aspose.Slides使用教程:使用 C++ 访问或修改 PowerPoint 文件的属性
  15. Kepserver EX6配置opc ua服务端 以及客户端
  16. python+OpenCv笔记(八):图像噪声(椒盐噪声、高斯噪声)
  17. 360搜索、UC浏览器等被3·15点名应用已下架;马斯克宣布通过NFT卖歌;美团App再发力社交,内测 “群聊”功能...
  18. java private最简单的解释
  19. Python GUI 快速入门
  20. Window服务器指定某软件/服务开机自启动

热门文章

  1. Oracle数据库同义词详解
  2. python画正方形-用python画正方形
  3. win10恢复linux引导文件,easybcd误删Win10启动项,UEFI恢复引导
  4. java 防篡改_用JAVA写一个简易图片防篡改
  5. UiPath:Windows计划任务调度UiPath(直接调用及.bat方式)
  6. 百度地图2.0离线版的制作
  7. 《数字图像处理》自学笔记(一)
  8. 全国计算机等级考试(NCRE)
  9. 微信对话框删除后怎么找回聊天记录?
  10. 云端敏捷部署单节点MySQl与Redis服务(以Ubuntu为例)