【问题标题】:getting nan for every step in keras.model.fit在 keras.model.fit 中的每一步都得到 nan
【发布时间】:2017-12-23 06:14:07
【问题描述】:

我有一个包含 26 个变量的文件,其中 25 个是 x 值,第 26 个是 y 值。我想拟合一个线性函数,从 x 中预测 y 的值。我使用了以下程序

from keras.layers import Dense
from keras.optimizers import SGD
from keras import Sequential
import numpy as np

arr = np.loadtxt('../data/TscoreTest.csv',skiprows=1,delimiter=',')

x = arr[:,0:25]
x = x.astype(float)
y = arr[:,-1]
model = Sequential()
model.add(Dense(1,input_shape=(25,), kernel_initializer='random_uniform', bias_initializer='zeros', activation='linear'))
sgd = SGD()
model.compile(optimizer=sgd,loss='mse',metrics=['mse'])
model.fit(x,y, batch_size=1, epochs=30, shuffle=False)

但它总是返回 nan 1/23 [>.......................] - ETA:0s - 损失:nan - mean_squared_error:nan 22/23 [============================>..] - ETA:0s - 损失:nan - mean_squared_error:nan 23/23 [==============================] - 0s 3ms/step - loss: nan - mean_squared_error: nan 30/30 纪元

我检查了 x 和 y,它们具有有效的浮点值。我在这里做错了什么?

【问题讨论】:

  • 您使用了linear 激活。在某些时候,输出超过了 float32 可以容纳的,因此 nan

标签: python-3.x keras


【解决方案1】:

尝试将“mse”转换为“ma​​e”。由于 loss 和 mean_squared_error 的值太高,您会收到此错误。请使用 Adam 优化器重新配置您的模型并再次运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-23
    • 2015-09-15
    • 1970-01-01
    • 2020-02-23
    • 2019-03-24
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    相关资源
    最近更新 更多