Как мне записать результат tf.Data.dataset.take (), используя TFRecordWriter? - PullRequest
1 голос
/ 05 февраля 2020

Я пытаюсь прочитать файл tfrecord, перемешать и разделить его, а затем сохранить в две записи tfrecords, чтобы я мог использовать одни и те же данные проверки в нескольких прогонах.

Проблема, которую я получаю, заключается в том, что я предположил, что объект Dataset - это объект TakeDataset.

Я нахожусь на Ubuntu 16.04 и использую Tensorflow 2.1.0.

Соответствующий код:

dataset = create_dataset(filenames_train, batch_size=25)

validation_dataset = dataset.take(8400)
training_dataset = dataset.skip(8400)

writer_valid = tf.data.experimental.TFRecordWriter("./Data/valid.tfrecord")
writer_valid.write(validation_dataset)
writer_train = tf.data.experimental.TFRecordWriter("./Data/train.tfrecord")
writer_train.write(training_dataset)

Вывод:

...in <module>
    writer_valid.write(validation_dataset)
  File "/home/kyle/Desktop/learning/venv/lib/python3.5/site-packages/tensorflow_core/python/data/experimental/ops/writers.py", line 107, in write
    if not dataset_ops.get_structure(dataset).is_compatible_with(
AttributeError: 'tuple' object has no attribute 'is_compatible_with'

...