为keras.model.fit中的每一步获得nan

时间:2017-12-23 06:14:08

标签: python-3.x keras

我有一个包含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)

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

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

1 个答案:

答案 0 :(得分:0)

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