Проблема в определении функции карты для анализа набора данных TFRecord - PullRequest
0 голосов
/ 27 января 2020

Я создал набор данных для ранжирования TensorFLow в формате ELW C и сохранил файл как файл .tfrecords. Скопированные методы get_descriptor_set (), decode_as_serialized_example_list () и parse () как есть, модифицированные context_spe c и example_spe c согласно моему набору данных.

Если я попытаюсь разобрать набор данных просто, используя a для l oop работает:

raw_dataset = tf.data.TFRecordDataset(_FILE_NAME)
for r in raw_dataset:
features = parse(r, context_spec, example_feature_spec)
print(features)

Вывод: {'NIA_Paid_Status':, 'Amount':, 'Buyerid':, 'NIA_Commission':, 'rank':}

Проблема is

kwargs = {
      "context_spec": context_spec,
      "example_feature_spec": example_feature_spec,
  }
parsing_func = functools.partial(parse, **kwargs)
raw_dataset = tf.data.TFRecordDataset(_FILE_NAME).map(parsing_func)

приводит к предупреждению о тензорном потоке: Entity> не может быть преобразован и будет выполнен как есть. Пожалуйста, сообщите об этом команде AutoGraph. При заполнении сообщения об ошибке установите значение 10 (для Linux, экспортируйте AUTOGRAPH_VERBOSITY = 10) и присоедините полный вывод. Причина: LIVE_VARS_IN и ошибка: Ошибка типа: в преобразованном коде: Ошибка типа: в преобразованном коде:

<ipython-input-15-8800217301d4>:31 parse  *
    features[k] = utils.reshape_first_ndims(v, 1, [batch_size, cur_list_size])
C:\Users\hp\Anaconda3\lib\site-packages\tensorflow_ranking\python\utils.py:173 reshape_first_ndims  *
    new_shape = tf.concat([new_shape, tf.shape(input=tensor)[first_ndims:]], 0)
C:\Users\hp\Anaconda3\lib\site-packages\tensorflow_core\python\util\dispatch.py:180 wrapper
    return target(*args, **kwargs)
C:\Users\hp\Anaconda3\lib\site-packages\tensorflow_core\python\ops\array_ops.py:1431 concat
    return gen_array_ops.concat_v2(values=values, axis=axis, name=name)
C:\Users\hp\Anaconda3\lib\site-packages\tensorflow_core\python\ops\gen_array_ops.py:1256 concat_v2
    "ConcatV2", values=values, axis=axis, name=name)
C:\Users\hp\Anaconda3\lib\site-packages\tensorflow_core\python\framework\op_def_library.py:499 _apply_op_helper
    raise TypeError("%s that don't all match." % prefix)

TypeError: Tensors in list passed to 'values' of 'ConcatV2' Op have types [<NOT CONVERTIBLE TO TENSOR>, int32] that don't all match.
...