Проверка с использованием набора данных TensorFlow - PullRequest
0 голосов
/ 04 мая 2020

С Обучаться и оценивать с помощью Keras :

Аргумент validation_split (генерирующий удерживающий набор из данных обучения) не поддерживается при обучении из объектов набора данных, так как эта функция требуется умение индексировать образцы наборов данных, что в общем случае невозможно с API набора данных.

Есть ли обходной путь? Как я могу все еще использовать набор проверки с наборами данных TF?

1 Ответ

1 голос
/ 04 мая 2020

Нет, вы не можете использовать 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 и соответствующие учебные пособия / блокноты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...