仅在第一个时期验证损失为零

问题描述 投票:0回答:1

问题

我正在尝试使用数据集和keras API在Tensorflow中构建回归模型。目标包含很多零,尽管所有零都是正数,但非零值大致呈正态分布。]

[当我尝试在下面创建线性模型时,我注意到在第一个时期,验证损失和两个验证指标都完全为0,尽管训练损耗和指标均不为0。该问题在第一个时期后消失。尽管这并不能阻止我创建模型,但仍然无法解释为什么会发生这种情况以及我可能会做些什么。

到目前为止已尝试

我未成功查明问题所在的地方:

  • 交换traintest
  • 较小的批处理大小(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
)

问题,我正在尝试使用数据集和keras API在Tensorflow中建立回归模型。目标包含很多零,并且非零值大致呈正态分布...

python tensorflow tensorflow-datasets tf.keras
1个回答
0
投票

这是完全正常的,因为正常的度量验证度量是在不同的时间计算的。

© www.soinside.com 2019 - 2024. All rights reserved.