PaddlePaddle在优化方法处报错 EnforceNotMet: Enforce failed
关键字:
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相关推荐
- PaddlePaddle运行时出现EnforceNotMet: Enforce failed错误
报错信息 EnforceNotMet: Enforce failed. Expected lbl < class_num, but received lbl:6 >= class_num: ...
- 安装R包报错 [tcl] grab failed: window not viewable.的解决方案
安装R包报错 [tcl] grab failed: window not viewable.的解决方案 ##方法一:用下代码自己选择镜像 chooseCRANmirror(graphics=F) ## ...
- 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",如下图 这个问题 ...
- centos6.5报错:checking filesystems failed问题处理
centos系统重启报错:checking filesystems failed checking filesystems /dev/mapper/vg_0-root: 搜了下可能是文件系统损坏 根据 ...
- cordova编译报错:Execution failed for task ':processDebugResources'
cordova编译报错:Execution failed for task ':processDebugResources' 引发这个错误的最扩祸首就是一个中文命名的文件,不知道什么时候加入的,我写了 ...
- git配置报错fatal: Authentication failed for ‘‘问题解决
git配置报错fatal: Authentication failed for ''问题解决 参考文章: (1)git配置报错fatal: Authentication failed for ''问题 ...
- windows10下编译dllib报错: ERROR: Failed building wheel for dlib
一.报错信息 在安装dlib的时候,使用pip进行安装 pip install dlib 二.解决方式 1.检查自己是否已经安装了cmake 首先要检测自己本机是否已经安装了cmake,因为安装dli ...
- maven 项目报错Context initialization failed
Context initialization failed 当我对maven 项目进行clean 的时候再次打开就报错Context initialization failed 同时i显示找不到dao ...
- 使用nsenter进入docker容器后端报错 mesg: ttyname failed: No such file or directory
通过nsenter 进入到docker容器的后端总是报下面的错,, [root@devdtt ~]# docker inspect -f {{.State.Pid}} mynginx4 11950 [ ...
最新文章
- Iphone控件大全
- socket编程listen函数限制连接数的解决方案_网络编程——服务器篇
- JZOJ 5907. 【NOIP2018模拟10.16】轻功(qinggong)
- java 动态树_使用dtree构建动态树型菜单
- c语言由n个斐波纳函数,6、C语言 —— 字符串
- iText关于中文的解决方案
- RocketMQ之一:RocketMQ整体介绍
- 协作机器人关节模组总结
- 【人脸姿态】2D人脸姿态估计的两种方式:solvePnP与3DMM参数
- 计算机中及格人数怎么算,在excel中如何计算及格率和优秀率及统计各分数段人数...
- CTFShow“萌心区”WP(上)
- 浙大数据结构习题笔记:顺序表与单链表
- 时间末尾多了.000Z?
- Aspose.Slides使用教程:使用 C++ 访问或修改 PowerPoint 文件的属性
- Kepserver EX6配置opc ua服务端 以及客户端
- python+OpenCv笔记(八):图像噪声(椒盐噪声、高斯噪声)
- 360搜索、UC浏览器等被3·15点名应用已下架;马斯克宣布通过NFT卖歌;美团App再发力社交,内测 “群聊”功能...
- java private最简单的解释
- Python GUI 快速入门
- Window服务器指定某软件/服务开机自启动