Как добавить новые данные в TfRecord, выполнив соединение - PullRequest
0 голосов
/ 14 июля 2020

У меня есть куча записей тензорного потока (я их не создавал). Однако мне нужно добавить еще несколько функций, присоединившись к другому источнику данных (большая таблица запросов). Как мне отредактировать tf-запись, преобразовать ли я ее в TfDataset или мне нужно каким-то образом преобразовать ее в фрейм данных pandas, присоединить данные и записать как tfrecord? У кого-нибудь есть пример?

1 Ответ

0 голосов
/ 15 июля 2020

Предполагая, что у вас есть TFExample в TfRecord, тогда одним из подходов будет использование beam.io.tfrecordio.ReadFromTFRecord вместе с функцией синтаксического анализа tf:

...

   pipeline
        | "ReadMetadata" >> beam.io.tfrecordio.ReadFromTFRecord(
                file_pattern=<file pattern>)
        | "ParseMetadataFile" >> beam.ParDo(_parseExamples())

class _parseExamples(beam.DoFn):
    def __init__(self):
        beam.DoFn.__init__(self)

    def process(self, element, feature_dict) -> tf.train.Example:
        example = tf.train.Example.FromString(element)
        # Or something like...
        # example = tf.io.parse_single_example(element, feature_dict)
        # Then something like 
        # t = example.features.feature['new']
        # t = tf.train.Feature(int64_list=tf.train.Int64List(value=[1]))
        yield example

Другое не-лучевая спецификация c примечания по TFRecord и tf. Пример

https://www.tensorflow.org/tutorials/load_data/tfrecord

...