<p>tensorflow - KeyError dans le plus proche</p>

Créé le 10 juin 2016  ·  3Commentaires  ·  Source: tensorflow/tensorflow

lorsque j'exécute ce code sur un petit corpus, j'obtiens une erreur de clé car cette clé n'est pas dans le dict et le vocabulaire du corpus n'est pas non plus si énorme.

sim = similarity.eval()
for i in xrange(valid_size):
                valid_word = reverse_dictionary[valid_examples[i]]
                print("--",valid_word)
                top_k = 5 # number of nearest neighbors

                nearest = (-sim[i, :]).argsort()[1:top_k+1]
                print(nearest)
                log_str = "Nearest to %s:" % valid_word
                print(log_str)
                for k in xrange(top_k):

                  close_word = reverse_dictionary[nearest[k]]

Mes sorties sont comme ceci :

Average loss at step  0 :  139.830688477
[[ 0.01613899 -0.06088334 -0.043384   ...,  0.02021606 -0.10094199
   0.16063547]
 [ 1.00000012  0.10277888 -0.20193034 ..., -0.04780241  0.07802841
   0.13258868]
 [ 0.09824251 -0.17075592  0.10143445 ...,  0.09903113 -0.08740355
  -0.00371696]
 ..., 
 [-0.01591019  0.02056946  0.09188825 ..., -0.0506176   0.07684846
   0.06354721]
 [-0.06749535  0.0028128  -0.09138335 ...,  0.09473826  0.04847325
  -0.00853895]
 [ 0.01795161  0.01850585  0.04632751 ...,  0.11854959  0.11196665
  -0.00684015]]
16
[-0.01613899  0.06088334  0.043384   ..., -0.02021606  0.10094199
 -0.16063547]
<type 'numpy.ndarray'>
[ 31 113 118 ..., 650 353 233]
-- using
[113 118 555 298 150]
Nearest to using:
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-129-cf006e08ddb8> in <module>()
     87                 for k in xrange(top_k):
     88 
---> 89                   close_word = reverse_dictionary[nearest[k]]
     90                   log_str = "%s %s," % (log_str, close_word)
     91                 print(log_str)

KeyError: 555

vocab_length = 1155
taille_bat = 16
taille_d'intégration = 128
sauter_fenêtre = 5
nombre_sauts = 4

taille_valide = 16
fenêtre_valide = 100
valid_examples = np.random.choice(valid_window, valid_size, replace=False)
nombre_échantillonné =64

Quelqu'un peut-il aider s'il vous plaît?

awaiting response

Commentaire le plus utile

Salut Rahoul,

J'avais exactement le même problème que vous jusqu'à ce que je vérifie la taille du tableau "reverse_dictionary" en utilisant "print(len(reverse_dictionary))" juste avant que l'erreur ne se produise.

Votre ligne "vocabulary_size = 50000" doit être inférieure. Je l'ai défini sur la valeur renvoyée en imprimant la longueur de "reverse_dictionary" et je n'ai plus eu de problèmes.

J'espère que ça aide.

Tous les 3 commentaires

Salut Rahoul,

J'avais exactement le même problème que vous jusqu'à ce que je vérifie la taille du tableau "reverse_dictionary" en utilisant "print(len(reverse_dictionary))" juste avant que l'erreur ne se produise.

Votre ligne "vocabulary_size = 50000" doit être inférieure. Je l'ai défini sur la valeur renvoyée en imprimant la longueur de "reverse_dictionary" et je n'ai plus eu de problèmes.

J'espère que ça aide.

ça m'a beaucoup aidé !!!!!! @tcheightyeight

Fermeture automatique en raison d'un manque d'activité récente. Veuillez rouvrir lorsque de plus amples informations seront disponibles.

Cette page vous a été utile?
0 / 5 - 0 notes