【问题标题】:nan session output from polynomial regression training in TensorflowTensorflow 中多项式回归训练的 nan 会话输出
【发布时间】:2017-01-21 03:27:25
【问题描述】:

我是 Tensorflow 的新手,正在研究tensorflow tutorials 此处给出的回归示例。具体来说,我正在研究第三个:“polynomial_regression.py”

我很好地遵循了线性回归示例,现在已经转向多项式回归。

但是,我想尝试用另一组数据代替示例中的数据。我通过交换来做到这一点

 xs = np.asarray([3.3,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,2.167,
                         7.042,10.791,5.313,7.997,5.654,9.27,3.1], dtype=np.float32)
ys = np.asarray([1.7,2.76,-2.09,3.19,1.9,1.573,3.366,2.596,2.53,1.221,
                         2.827,-3.465,1.65,-2.1004,2.42,2.94,1.3], dtype=np.float32)
n_observations = xs.shape[0]

n_observations = 100
xs = np.linspace(-3, 3, n_observations)
 ys = np.tan(xs) + np.random.uniform(-0.5, 0.5, n_observations)

即第二个是示例中给出的内容,我想尝试使用新的 xs、ys、n_observation 进行相同的训练。这些是我改变的唯一行。我还尝试将数组的 dtype 更改为 float64,但这并没有改变输出。

我得到的输出(来自print(training_cost)只是一个重复的nan。当我切换回原始数据时,网络运行良好,并生成了一个拟合函数。

感谢您的任何想法!

【问题讨论】:

  • NaN 可能由多种原因引起,通常是某种形式的数值不稳定。降低学习率或使用更稳定的优化器是不错的尝试。
  • @AlexandrePassos - 您能否将您的评论提升为答案,因为我们还没有收到更多来自 OP 的消息?谢谢!

标签: python tensorflow neural-network non-linear-regression


【解决方案1】:

NaN 可能由多种原因引起,通常是某种形式的数值不稳定性。降低学习率或使用更稳定的优化器是不错的尝试。

【讨论】:

    猜你喜欢
    • 2021-04-19
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 2016-09-10
    • 2021-12-17
    • 2019-01-24
    相关资源
    最近更新 更多