【paddlepaddle】EnforceNotMet: Invoke operator dropout_grad error. 解决方案

本文解决了一个在PaddlePaddle中克隆训练模型生成测试模型时遇到的错误,通过使用两个独立的Program并调整clone操作的位置,避免了测试集影响训练集的问题,确保了模型训练的正确性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 paddlepaddle 当试图clone训练模型来生成测试模型的时候,遇到了这种奇葩错误

(但是手写数字识别不会出现这个bug)

 

解决方案来自@家行hang同学

main_program = fluid.Program()
startup_program = fluid.Program()
with fluid.program_guard(main_program,startup_program):
    .......
    .......

创建两个program然后采用上述方式进行其余操作,用两个program替换掉fluid.default_main_program和fluid.default_startup_program即可。这样可以不让测试集影响训练集训练,而且也不会报错。

 

此外另一个坑点在教程中有说明:

clone操作一定要在定义优化器之前进行,否则也是会报错的。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值