Я совершенно сбит с толку количеством бесполезных сообщений об ошибках, которые я получил, пытаясь использовать этот предположительно простой API для написания TFRecords таким образом, чтобы при каждом новом наборе данных не требовалось 30 минут.
Задача:
Я хотел бы передать список путей к изображениям и список меток в tf.data.Dataset, проанализировать их параллельно, чтобы прочитать изображения и кодировать как tf.train.Examples используйте tf.data.Dataset.shard, чтобы распределить их по разным осколкам TFRecord (например, train-001-of-010.tfrecord, train-002-of-010.tfrecord, et c.) и, наконец, для каждого осколка запишите их в соответствующий файл.
Так как я отлаживал это часами, я не получил ни одной конкретной ошибки, чтобы исправить ее, иначе я бы предоставил ее. Я изо всех сил пытался найти какой-либо современный учебник, который не (а) не приходит с 2017 года и не использует бегунов очередей, (б) использует tf.Session (я использую tennflowflow 1.15, но официальные документы постоянно говорят мне поэтапно вне сеансов), (c) Удобно создавать записи в чистом виде python, что делает простое руководство, но слишком медленным для любого реального приложения, или (d) использовать уже созданные TFRecords и просто пропустить весь процесс.
При необходимости я могу привести пример того, о чем я говорю. Но так как я застреваю на каждом уровне процесса, на данный момент это кажется бесполезным.
Tldr:
Если кто-то использовал tf.data.Dataset для параллельного создания осколков TFRecord пожалуйста, укажите мне лучшее направление, чем у Google.