InvalidArgumentError (ver más arriba para el rastreo): los índices = 10 no están en [0, 10)

Estoy usando la CPU tensorflow 1.0 en Ubuntu y Python 3.5.

Adapté un ejemplo de tensorflow para trabajar en mi propio conjunto de datos https://github.com/martin-gorner/tensorflow-mnist-tutorial

Funciona bien siempre que el número de salidas sea inferior a 10. Cuando el número de salidas es superior a 10, aparece el error:

InvalidArgumentError (see above for traceback): indices[1] = 10 is not in [0, 10) [[Node: Gather_4 = Gather[Tindices=DT_INT64, Tparams=DT_FLOAT, validate_indices=true, _device="/job:localhost/replica:0/task:0/cpu:0"](grayscale_to_rgb, ArgMax_4)]] 

¿Alguna ayuda?

El índice de la palabra de entrada excede la longitud del vocabulario, o las palabras nuevas que no están incluidas en el vocabulario.

Por favor, intenta ampliar el vocabulario.

También me encontré con el mismo error, y después de juguetear con él durante 2 días me di cuenta de que hay dos razones principales por las que este error se estaba generando en mi código y lo mencioné a continuación para ayudar a cualquiera que tenga problemas con el mismo problema:

  1. Las dimensiones de sus datos y sus tags son diferentes.

  2. En mi caso, el problema fue que al comstackr mi vocabulario, he indexado las palabras de 1 y no de 0. Pero la capa incrustada comienza a indexar desde 0. Así que seguí dándome el error mencionado. Arreglé el error indexando mi vocabulario de 0.

    código anterior:

     dictionary = Counter(words) sorted_split_words = sorted(dictionary, key=dictionary.get, reverse=True) vocab_to_int = {c: i for i, c in enumerate(sorted_split_words, 1)} 

    para arreglarlo cambié la última línea a (eliminado 1):

     vocab_to_int = {c: i for i, c in enumerate(sorted_split_words)}