【发布时间】:2020-03-27 04:55:15
【问题描述】:
问题
我正在尝试使用数据集和 keras API 在 tensorflow 中构建回归模型。目标包含相当多的零,非零值大致正态分布,尽管都是正数。
当我尝试创建下面的线性模型时,我注意到在第一个时期,验证损失和两个验证指标都为 0,尽管训练损失和指标不是。这个问题在第一个 epoch 之后就消失了。尽管这并不能阻止我创建模型,但我仍然无法解释为什么会发生这种情况以及我可能会做些什么。
到目前为止尝试过
我没有成功地试图找出问题所在:
- 交换
train和test - 更小的批量大小(32 而不是 255)
- 洗牌
test - 将密集层的初始化器设置为正常
我的代码
train = tf.data.experimental.make_csv_dataset(...)
test = tf.data.experimental.make_csv_dataset(...) # a smaller csv file
model = Sequential([
DenseFeatures(features),
Dense(1, activation='linear') # we are doing a regression
])
model.compile(
optimizer='adam',
loss='mean_squared_error',
metrics=['mean_squared_error', 'mean_absolute_error']
)
model.fit(train,
epochs=2,
validation_data=test
)
【问题讨论】:
-
似乎是一个报告(而不是计算)问题 - 当我添加回调时,我的
on_epoch_end得到非零损失:
标签: python tensorflow deep-learning tensorflow-datasets tf.keras