权重和偏置值发生极大变化,最终达到无穷大和非数值-Tensorflow

我是一个Tensorflow的新手,今天在使用它时,我的代码在输入大数字时会产生错误。当我输入较小的数字时,这个问题不会发生。以下是它打印的内容… 权重应该为300,偏置值为13000。我输入这些数字只是为了确保错误不是由我的文件引起的,因为我从csv文件中读取输入。两种情况下都会产生这个错误!谢谢,任何帮助都将非常棒!

代码

import tensorflow as tfimport osimport numpy as npdatapoint_size = 20steps = 10000# = 300#actual_b = 13000learn_rate = 0.0001w1=tf.Variable(([1.0]),tf.float32)b=tf.Variable(([1.0]),tf.float32)x1= tf.placeholder(tf.float32)y_=tf.placeholder(tf.float32)init= tf.global_variables_initializer()sess=tf.Session()sess.run(init)i=0with tf.Session() as sess:    sess.run( tf.global_variables_initializer())x=1sess = tf.Session()sess.run(init)y_pred = x1 * w1 + bsquared_deltas = tf.square(y_ - y_pred)cost = tf.reduce_sum(squared_deltas)train_step = tf.train.GradientDescentOptimizer(learn_rate).minimize(cost)for i in range(100000):    if x>=20:        x=0    sess.run(train_step, {x1:[1000,2000,3000,4000],y_:[313000,613000,913000,1213000]})    print("After %d iteration:" % i)    print("W: %f" % sess.run(w1))    print("b: %f" % sess.run(b))    x=x+1

错误

After 0 iteration:W: 1793999.000000b: 598.999207After 1 iteration:W: -10760400896.000000b: -3586799.250000After 2 iteration:W: 64551647182848.000000b: 21517219840.000000After 3 iteration:W: -387245349602852864.000000b: -129081785974784.000000After 4 iteration:W: 2323085181124570251264.000000b: 774361712747872256.000000After 5 iteration:W: -13936188870901762508193792.000000b: -4645396869013139619840.000000After 6 iteration:W: 83603198942318920401772609536.000000b: 27867733773982968636768256.000000After 7 iteration:W: -501535661866597157445008806117376.000000b: -167178554811854841375365267456.000000After 8 iteration:W: infb: 1002904201827890788552906230464512.000000After 9 iteration:W: nanb: -infAfter 10 iteration:W: nanb: nanAfter 11 iteration:W: nanb: nan

回答:

问题仅仅是你的学习率太大了。如果你看到你的变量在发散,那么尝试降低学习率是一个好方法。

实际上,在你的情况下,最好的做法是归一化输入,使它们具有较小的范围。然后你可以使用更高的学习率,它会更快地收敛。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注