【问题标题】:Missing val_acc after fitting sequential model拟合顺序模型后缺少 val_acc
【发布时间】:2019-09-13 01:34:17
【问题描述】:

当我拟合已编译的顺序模型时,我缺少有关“val_acc”属性的信息。

我有一个使用“准确度”指标编译的顺序模型

model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

我希望在拟合此神经网络后获得有关 ['acc', 'loss', 'val_acc', 'val_loss'] 属性的信息

history = model.fit(X, Y, epochs=100, batch_size=10)

但是进度条上缺少val_acc的信息

Epoch 14/100
768/768 [==============================] - 0s 212us/step - loss: 0.4356 - acc: 0.7969
Epoch 15/100
768/768 [==============================] - 0s 219us/step - loss: 0.4388 - acc: 0.8034
Epoch 16/100
768/768 [==============================] - 0s 220us/step - loss: 0.4398 - acc: 0.7956

而且它在对象历史中也被遗漏了

>>> print (history.history.keys())
dict_keys(['loss', 'acc'])

在训练神经网络时如何获取缺失的属性('val_acc'、'val_loss')?

【问题讨论】:

    标签: python-3.x tensorflow keras neural-network


    【解决方案1】:

    history = model.fit(X, Y, epochs=100, batch_size=10)

    您的fit 方法中缺少验证数据,因此无法计算验证指标。

    • 将您的一些训练数据拆分为验证集并传递 通过 fit 方法的validation_data 参数显式地

    • 使用 fit 方法的 validation_split 参数来使用你的 训练数据作为验证数据。示例:validation_split=0.15 将 使用 15% 的训练数据作为验证数据。

    【讨论】:

    • model.fit(X, Y, epochs=100, batch_size=10, validation_split=0.15) 完美!
    猜你喜欢
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 2017-03-02
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多