Привет, я пытаюсь запустить TFX Pipeline просто как упражнение. Я использую ImportExampleGen
для загрузки TFRecords
с диска. Каждый Example
в TFRecord
содержит jpg в виде байтовой строки, высоты, ширины, глубины, меток управления и газа.
Я пытаюсь использовать StatisticsGen
, но получаю это предупреждение; WARNING:root:Feature "image_raw" has bytes value "None" which cannot be decoded as a UTF-8 string.
и разбивает мой ноутбук Colab. Насколько я могу судить, все изображения байтовых строк в TFRecord не повреждены.
Я не могу найти конкретных примеров StatisticsGen
и обработки данных изображений. Согласно документам Tensorflow Data Validation может работать с данными изображений.
Помимо вычисления набора статистики данных по умолчанию, TFDV может также вычислять статистику для семантических доменов (например, изображений, текста). Чтобы включить вычисление статистики семантической области, передайте объект tfdv.StatsOptions с параметром enable_semantic_domain_stats, имеющим значение True, в tfdv.generate_statistics_from_tfrecord.
Но я не уверен, как это согласуется с StatisticsGen
.
Вот код, который создает экземпляр ImportExampleGen
, затем StatisticsGen
from tfx.utils.dsl_utils import tfrecord_input
from tfx.components.example_gen.import_example_gen.component import ImportExampleGen
from tfx.proto import example_gen_pb2
examples = tfrecord_input(_tf_record_dir)
# https://www.tensorflow.org/tfx/guide/examplegen#custom_inputoutput_split
# has a good explanation of splitting the data the 'output_config' param
# Input train split is _tf_record_dir/*'
# Output 2 splits: train:eval=8:2.
train_ratio = 8
eval_ratio = 10-train_ratio
output = example_gen_pb2.Output(
split_config=example_gen_pb2.SplitConfig(splits=[
example_gen_pb2.SplitConfig.Split(name='train',
hash_buckets=train_ratio),
example_gen_pb2.SplitConfig.Split(name='eval',
hash_buckets=eval_ratio)
]))
example_gen = ImportExampleGen(input=examples,
output_config=output)
context.run(example_gen)
statistics_gen = StatisticsGen(
examples=example_gen.outputs['examples'])
context.run(statistics_gen)
Заранее спасибо.
stats = tfdv.generate_statistics_from_tfrecord(data_location=tfrecords_filename)
, что приводит к тому же предупреждению и сбою Colab. Полагаю, мы пытаемся разобраться в корне проблемы. - person Joshua Patterson   schedule 08.03.2020tfx==0.21.2
у меня все еще миллиардWarnings
, тогда моя вкладка Colab перестает отвечать. Я собираюсь попытаться выяснить, как изменить уровень журнала, чтобы выходные данные ячейки не спамили мне предупреждениями. - person Joshua Patterson   schedule 10.04.2020