<p>tensorflow - KeyError في الأقرب</p>

تم إنشاؤها على ١٠ يونيو ٢٠١٦  ·  3تعليقات  ·  مصدر: tensorflow/tensorflow

عندما أقوم بتشغيل هذا الرمز على مجموعة صغيرة ، فإنني أتلقى خطأ رئيسيًا لأن هذا المفتاح ليس موجودًا في dict و corpus vocab ليس كبيرًا أيضًا.

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]]

مخرجاتي مثل هذا:

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
حجم_الدفعة = 16
embedding_size = 128
skip_window = 5
num_skips = 4

valid_size = 16
valid_window = 100
valid_examples = np.random.choice (valid_window ، valid_size ، استبدال = خطأ)
num_sampled = 64

هل يمكن لأي شخص أن يساعد من فضلك؟

awaiting response

التعليق الأكثر فائدة

مرحبا راهول ،

كنت أواجه نفس المشكلة تمامًا حتى تحققت من حجم مصفوفة "عكس_القاموس" باستخدام "print (len (reverse_dictionary))" قبل حدوث الخطأ مباشرةً.

يجب تعيين سطر "vocabulary_size = 50000" الخاص بك في مستوى أدنى. لقد قمت بتعيينه على القيمة التي تم إرجاعها عن طريق طباعة طول "عكس_القاموس" ولم يعد لدي أي مشاكل.

آمل أن يساعد هذا.

ال 3 كومينتر

مرحبا راهول ،

كنت أواجه نفس المشكلة تمامًا حتى تحققت من حجم مصفوفة "عكس_القاموس" باستخدام "print (len (reverse_dictionary))" قبل حدوث الخطأ مباشرةً.

يجب تعيين سطر "vocabulary_size = 50000" الخاص بك في مستوى أدنى. لقد قمت بتعيينه على القيمة التي تم إرجاعها عن طريق طباعة طول "عكس_القاموس" ولم يعد لدي أي مشاكل.

آمل أن يساعد هذا.

هذا ساعد كثيرا !!!!!! تضمين التغريدة

الإغلاق التلقائي بسبب نقص النشاط الأخير. يرجى إعادة الفتح عندما تتوفر المزيد من المعلومات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات