采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
训练时直接就出现nan,由于想不通,我直接使用老师源代码训练,依旧如此,望大佬解答,谢谢
经过实验,与2-4节问题一样,受剃度下降学习率的影响,将学习率改成0.001以后可以正常训练。我使用的是 GPU版的tf2.0beta,如果后面有出现一样问题的同学可以一起交流,探讨出现这些问题的原因
这是学习率过大导致的,导致梯度发散,无法得到结果,学习率调低就可以。应该老师的weights初始化运气较好,才没有发生这个问题。
tensorflow 2.0.0tensorflow_core.keras 2.2.4-tf
也出现一样的问题,照着老师新的代码调低学习率就好了
我的也是,训练都是nan
我们代码库里的代码有所更新,这里新代码里使用的learning rate是0.001,应该就能收敛啦。
https://git.imooc.com/coding-344/tensorflow2.0_course/src/master/chapter_2/tf_keras_regression-wide_deep.ipynb
老师,请问怎么更改学习率呢
老师,已经找到方法了,多谢,就是学习率过大导致无法收敛
原因可能是 model.fit()调用时,你调用的是x_train 而不是x_train_scaled.
我尝试换了一下优化器,能保证训练过程loss收敛,换了一个Adam。 是不是sgd对于梯度的控制不够稳定,我的tensor 版本 1.13, 2.0 实在这一点上进行优化了么
请问为什么换成adam就可以了呢
同学你好,这个的原因是因为你的环境是1.*的,如果使用2.0的环境应该就没问题。应该是keras的实现在这两个版本有变动。初步怀疑是因为float和int之间相互转换导致的,但是我还没有确凿的证据。
建议先使用tensorflow2.0的环境,应该就没问题了。
谢谢老师,不过我使用的是2.0beta ,下一节使用子类API也一样是nan
老师,我赞成这个同学的观点
登录后可查看更多问答,登录/注册
Tensorflow2.0实战—以实战促理论的方式学习深度学习
2.9k 1
1.4k 3
1.2k 19
1.4k 13
2.1k 7