Нет, вы не можете использовать use validation_split
(как четко описано в документации), но вы можете вместо этого создать validation_data
и создать Dataset
"вручную".
Вы можете увидеть пример в том же учебнике по тензорному потоку :
# Prepare the training dataset
train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64)
# Prepare the validation dataset
val_dataset = tf.data.Dataset.from_tensor_slices((x_val, y_val))
val_dataset = val_dataset.batch(64)
model.fit(train_dataset, epochs=3, validation_data=val_dataset)
Вы можете создать эти два набора данных из numpy
массивов ((x_train, y_train)
и (x_val, y_val)
), используя простое срезание, как показано там:
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_val = x_train[-10000:]
y_val = y_train[-10000:]
x_train = x_train[:-10000]
y_train = y_train[:-10000]
Существуют и другие способы создания tf.data.Dataset
объектов, см. Документацию tf.data.Dataset
и соответствующие учебные пособия / блокноты.