Как сохранить статистику TFDV в правильном формате, чтобы она могла быть загружена обратно? - PullRequest
0 голосов
/ 20 марта 2020

Меня удивляет, что есть функция tfdv.load_statistics(), но нет соответствующей функции tfdv.write_statistics(). Как мне go сохранить статистику, а затем загрузить ее снова?

например

import tensorflow_data_validation as tfdv
stats = tfdv.generate_statistics_from_dataframe(df)

# how do I save?


# load back for later use
saved_stats = tfdv.load_statistics('saved_stats.stats')

Я могу сохранить строковое представление в файл, но это не тот формат, который load_statistics ожидает.

with open('saved_stats.stats', 'w') as o:
    o.write(str(stats))

Указывает на кого-нибудь?

1 Ответ

0 голосов
/ 20 марта 2020

Хорошо, разберись с этим хакерским способом сделать это.

df = ... # create pandas df
from tensorflow_metadata.proto.v0 import statistics_pb2
import tensorflow_data_validation as tfdv
stats = tfdv.generate_statistics_from_dataframe(df)

# save it
with open('saved_stats.stats', 'wb') as o:
    o.write(stats.SerializeToString())

# load back for later use
with open('saved_stats.stats', 'rb') as i:
    loaded_stats = statistics_pb2.FromString(i.read())
...