#python #tensorflow #pyspark #tensorflow-datasets #petastorm
#питон #тензорный поток #пыспарк #tensorflow-наборы данных #петасторм
Вопрос:
Я пытаюсь запустить tf.data.Dataset.group_by_window()
набор данных, который у меня есть, petastorm
make_tf_dataset
и продолжаю получать ошибку
ValueError: Invalid `key_func`. `key_func` must return a single `tf.int64` scalar tensor but its return type is TensorSpec(shape=(None,), dtype=tf.int64, name=None).
Код:
with test_converter.make_tf_dataset(batch_size=BATCH_SIZE, num_epochs=1) as test_dataset: tf_test = test_dataset.map(row_generator, num_parallel_calls=tf.data.AUTOTUNE, deterministic=False) key_func = lambda x: x["my_id_int"] reduce_func = lambda key, dataset: dataset.batch(100) tf_test_grp = tf_test.group_by_window( key_func=key_func, reduce_func=reduce_func, window_size=100)
генератор строк-это
def row_generator(x): d = {'my_id_int':x.my_id_int, ...} return d
и test_converter-это
test_converter = make_spark_converter(df_test.select(all_fields))
Кто-нибудь знает, как это обойти? Должны ли ключ или карта иметь разные значения?