Проблема с преобразованием Tensorflow (TFX) compute_and_apply_vocabulary / sparse_tensor_to_dense_with_shape - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть некоторые проблемы при запуске задания луча Apache в потоке данных.Код отлично работает на небольшом наборе данных, но при запуске большего пакетного задания в потоке данных я получаю следующее сообщение:

RuntimeError: InvalidArgumentError: indices [10925] = [889,43] выходит за границы: нужно 0<= index <[1238,43] [[{{transform / transform / SparseToDense}} = SparseToDense [T = DT_INT64, Tindices = DT_INT64, validate_indices = true, _device = "/ job: localhost / replica: 0 / task:0 / устройство: ЦП: 0 "] (преобразование / преобразование / StringSplit, преобразование / преобразование / SparseToDense / output_shape, преобразование / преобразование / compute_and_apply_vocabulary / apply_vocab / hash_table_Lookup, преобразование / преобразование / compute_and_apply_vocabable_xl_tub</p>

Взято из журнала в потоке данных.

Я выяснил, что он подключен к моей функции AnalyzeAndTransformDataset:

def preprocessing_fn(inputs):
      words = tf.string_split(inputs['tweet'],DELIMITERS)
      int_representation =tft.compute_and_apply_vocabulary(words,default_value=0,top_k=10000)
      # The shape out here is the problem, i think

      int_representation = 
      tft.sparse_tensor_to_dense_with_shape(int_representation, 
        [None,43])
      outputs = inputs
      outputs["int_representation"] = int_representation 
      return outputs

Цель - получить плотный выходной вектор длины 43 для каждого примера.Это будет использоваться для Сентиментального анализа в данных Твиттера в качестве домашнего проекта :)

Спасибо за любую помощь!

ОБНОВЛЕНИЕ:

Мне не удалось решить впроблема, но вместо этого преобразовал вектор в плотный вектор внутри моей модели оценки Tensorflow.Не то решение, на которое я надеялся, но оно работает!Также сообщили об этом в трансформации Tensorflow на GitHub.

...