gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:39:52 24 4
gpt4 key购买 nike

问题
我正在尝试使用数据集和 keras API 在 tensorflow 中构建回归模型。目标包含相当多的零,非零值大致呈正态分布,但都是正数。
当我尝试创建下面的线性模型时,我注意到在第一个时期,验证损失和两个验证指标都为 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
    )

    最佳答案

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

    计算标准指标 纪元期间 ,所以你可以看到损失分数和来自训练的其他值是多少。

    验证指标用于查看在某个时期计算的参数是否良好。这意味着在特定时期使用的一些训练数据(您可以指定百分比)不用于训练,但它们用于计算网络准确度。所以计算这些值 纪元末 ,当你有一定的参数配置。

    关于python - 验证损失仅在第一个时期为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59141276/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com