Я генерирую некоторые tf.train.dataset
, используя генератор (то есть from_generator()
), а затем я сериализую его и сохраняю в файле, когда я загружаю его снова и анализирую через parse_example, это работает, но если я закрываю свой Юпитер сервер, а затем прочитать файл TFRecord
, это не удается, и я не понимаю, почему. Кто-нибудь видел эту ошибку ?:
InvalidArgumentError: Key: wing4. Can't parse serialized Example.
[[{{node ParseSingleExample/ParseSingleExample}}]]
[[IteratorGetNext]]
During handling of the above exception, another exception occurred:
Я жалуюсь, что ключа там нет, похоже, он не может разобрать сериализованный образец.
Вот некоторые из моих функций:
def create_example(row):
features = {
'wing1': _float_feature(values=row['wing1']),
'wing2': _float_feature(values=row['wing2']),
'wing3': _float_feature(values=row['wing3']),
'wing4': _float_feature(values=row['wing4']),
}
return tf.train.Example(features=tf.train.Features(feature=features))
def create_records(gene, annotations, lds, record_path, train=True):
with tf.python_io.TFRecordWriter(record_path) as writer:
generator = data_generator(gene, annotations, lds, train)()
for row in generator:
example = create_example(row)
writer.write(example.SerializeToString())
def parse_function(example_proto):
features = {
'wing1': tf.FixedLenFeature([num_features], tf.float32),
'wing2': tf.FixedLenFeature([num_features], tf.float32),
'wing3': tf.FixedLenFeature([num_features], tf.float32),
'wing4': tf.FixedLenFeature([num_features], tf.float32),
}
return tf.parse_single_example(example_proto, features)