请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

使用函数式API训练wide and deep模型出错

http://img1.sycdn.imooc.com//szimg/5d04ba39000165d110000750.jpg
训练时直接就出现nan,由于想不通,我直接使用老师源代码训练,依旧如此,望大佬解答,谢谢

正在回答 回答被采纳积分+3

8回答

提问者 qq_白玉_1 2019-06-19 19:22:56

经过实验,与2-4节问题一样,受剃度下降学习率的影响,将学习率改成0.001以后可以正常训练。
我使用的是 GPU版的tf2.0beta,如果后面有出现一样问题的同学可以一起交流,探讨出现这些问题的原因

3 回复 有任何疑惑可以回复我~
OliverSong 2019-06-24 04:26:57

这是学习率过大导致的,导致梯度发散,无法得到结果,学习率调低就可以。应该老师的weights初始化运气较好,才没有发生这个问题。

1 回复 有任何疑惑可以回复我~
闪闪一年 2020-04-17 15:41:19

tensorflow 2.0.0
tensorflow_core.keras 2.2.4-tf

也出现一样的问题,照着老师新的代码调低学习率就好了

0 回复 有任何疑惑可以回复我~
Antai_Zhu 2020-02-27 18:45:19

我的也是,训练都是nan

0 回复 有任何疑惑可以回复我~
正十七 2020-02-05 20:35:28

我们代码库里的代码有所更新,这里新代码里使用的learning rate是0.001,应该就能收敛啦。

https://git.imooc.com/coding-344/tensorflow2.0_course/src/master/chapter_2/tf_keras_regression-wide_deep.ipynb

0 回复 有任何疑惑可以回复我~
  • 老师,请问怎么更改学习率呢
    回复 有任何疑惑可以回复我~ 2020-02-27 18:47:44
  • 老师,已经找到方法了,多谢,就是学习率过大导致无法收敛
    回复 有任何疑惑可以回复我~ 2020-02-27 18:58:53
慕侠9077389 2019-07-01 21:05:39

原因可能是 model.fit()调用时,你调用的是x_train 而不是x_train_scaled.

0 回复 有任何疑惑可以回复我~
Linanyaoooo 2019-06-23 17:48:25

我尝试换了一下优化器,能保证训练过程loss收敛,换了一个Adam。 是不是sgd对于梯度的控制不够稳定,我的tensor 版本 1.13, 2.0 实在这一点上进行优化了么

0 回复 有任何疑惑可以回复我~
  • 请问为什么换成adam就可以了呢
    回复 有任何疑惑可以回复我~ 2020-02-27 18:49:50
正十七 2019-06-16 21:24:52

同学你好,这个的原因是因为你的环境是1.*的,如果使用2.0的环境应该就没问题。应该是keras的实现在这两个版本有变动。初步怀疑是因为float和int之间相互转换导致的,但是我还没有确凿的证据。

建议先使用tensorflow2.0的环境,应该就没问题了。

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_白玉_1 #1
    谢谢老师,不过我使用的是2.0beta ,下一节使用子类API也一样是nan
    回复 有任何疑惑可以回复我~ 2019-06-16 21:48:49
  • 老师,我赞成这个同学的观点
    回复 有任何疑惑可以回复我~ 2020-02-04 17:31:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信