python - 当我在 model.fit() 中使用 validation_split 时会发生什么
问题描述
model.fit()
如果参数shuffle
和validation_split
分别设置为True
和,则何时调用.25
为验证预留的数据将始终相同,还是在每个 epoch 后更改验证数据?
model.fit(train_x,
train_y,
batch_size = 32,
epochs = 1000,
verbose = 1,
shuffle = True,
validation_split = .25)
解决方案
您将拥有相同的验证数据(主数据集的最后 25%)。您可以通过以下代码对其进行测试:
import numpy as np
from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import *
trainX = np.zeros((1000, 1))
trainy = np.array(np.arange(10000)).reshape(1000, 10)
model = Sequential()
model.add(Input((1, )))
model.add(Dense(10))
opt = keras.optimizers.Adam(0)
model.compile(opt, 'mae')
model.fit(trainX, trainy, epochs = 10, shuffle = True, validation_split = 0.2)
推荐阅读
- ruby-on-rails - Shopify Polaris 页面标签不起作用 - Rails 和 reactJS
- c# - 将一些字符串连接到 C# 中的全局变量中
- javascript - 获取不同的两个数组到变量
- android - 是否可以显式检查 onRequestPermissionsResult 中的权限?
- java - Android 在后台运行一段时间后杀死了我的应用
- ruby-on-rails-5 - 在 Rails 5.2 上使用两种不同用户模型的 Bcrypt
- scala - Scala Option[String] map 变成 Iterable
- python - 无法使用 GeckoDriver 找到一组匹配的功能
- regex - RegEx 匹配多种日期格式
- select - PyQt5 在多个 QTextEdit 框中选择文本