【发布时间】:2018-08-03 18:26:44
【问题描述】:
我正在训练一个神经网络,使其具有 6 个输入和 2 个输出。我正在使用带有 Tensorflow 后端的 Keras。预处理后,这是我的代码:
training_examples = features.head(2584)
training_targets = targets.head(2584)
validation_examples = features.tail(650)
validation_targets = targets.tail(650)
model = Sequential()
model.add(Dense(12, input_dim=6))
model.add(Dense(8))
model.add(Dense(8))
model.add(Dense(2))
model.compile(loss='mse', optimizer='sgd')
print("Training--------")
for step in range(500):
cost = model.train_on_batch(training_examples, training_targets)
if step % 100 == 0:
print('train cost: ', cost)
每次我运行它都会产生类似的输出
Training--------
train cost: 6670.4097
train cost: nan
train cost: nan
train cost: nan
train cost: nan
第一次训练成本通常在 2000 到 14000 之间变化。特征和目标在数值上都小于 100。我不确定为什么会这样。
编辑:我添加了features.info() 和targets.info() 来检查空值,数据框中没有空值。
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3231 entries, 0 to 3230
Data columns (total 6 columns):
TBRG_Rain_infield 3231 non-null float64
numRange_infield 3231 non-null float64
Air_T_edge 3231 non-null float64
RH_edge 3231 non-null float64
TBRG_Rain_edge 3231 non-null float64
numRange_edge 3231 non-null float64
dtypes: float64(6)
memory usage: 176.7 KB
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3231 entries, 0 to 3230
Data columns (total 2 columns):
Air_T 3231 non-null float64
RH 3231 non-null float64
dtypes: float64(2)
memory usage: 75.7 KB
【问题讨论】:
-
您的示例是熊猫数据框吗?你在那里检查过任何 NaN 吗?
-
我的例子是数据框。
features或targets中没有 NaN
标签: python pandas tensorflow keras