DLS Course 5: Emojify_v3a (Error in sentence_to_avg_test function)

Hi I am getting the following error message after running. Can you please help me in fixing this error?
Thanks in advance.

Error Message
avg =
[-0.008005 0.56370833 -0.50427333 0.258865 0.55131103 0.03104983
-0.21013718 0.16893933 -0.09590267 0.141784 -0.15708967 0.18525867
0.6495785 0.38371117 0.21102167 0.11301667 0.02613967 0.26037767
0.05820667 -0.01578167 -0.12078833 -0.02471267 0.4128455 0.5152061
0.38756167 -0.898661 -0.535145 0.33501167 0.68806933 -0.2156265
1.797155 0.10476933 -0.36775333 0.750785 0.10282583 0.348925
-0.27262833 0.66768 -0.10706167 -0.283635 0.59580117 0.28747333
-0.3366635 0.23393817 0.34349183 0.178405 0.1166155 -0.076433
0.1445417 0.09808667]

KeyError Traceback (most recent call last)
in
25 print("\033[92mAll tests passed!")
26
—> 27 sentence_to_avg_test(sentence_to_avg)
28
29 # END UNIT TEST

in sentence_to_avg_test(target)
16 assert tuple(avg.shape) == tuple(word_to_vec_map[‘a’].shape), “Check the shape of your avg array”
17 assert np.allclose(avg, [1.25, 2.5]), “Check that you are finding the 4 words”
—> 18 avg = target(“love a a_nw c_w a_s”, word_to_vec_map)
19 assert np.allclose(avg, [1.25, 2.5]), “Divide by count, not len(words)”
20 avg = target(“love”, word_to_vec_map)

in sentence_to_avg(sentence, word_to_vec_map)
22
23 # Initialize the average word vector, should have the same shape as your word vectors.
—> 24 avg = np.zeros(np.shape(word_to_vec_map[words[0]]))
25
26 # Initialize count to 0

KeyError: ‘love’

Your initialization of avg is wrong.
Use “any_word”, not “words[0]”.

3 Likes

also have the same error.


KeyError Traceback (most recent call last)
in
25 print("\033[92mAll tests passed!")
26
—> 27 sentence_to_avg_test(sentence_to_avg)
28
29 # END UNIT TEST

in sentence_to_avg_test(target)
16 assert tuple(avg.shape) == tuple(word_to_vec_map[‘a’].shape), “Check the shape of your avg array”
17 assert np.allclose(avg, [1.25, 2.5]), “Check that you are finding the 4 words”
—> 18 avg = target(“love a a_nw c_w a_s”, word_to_vec_map)
19 assert np.allclose(avg, [1.25, 2.5]), “Divide by count, not len(words)”
20 avg = target(“love”, word_to_vec_map)

in sentence_to_avg(sentence, word_to_vec_map)
29 # Check that word exists in word_to_vec_map
30 if w in words:
—> 31 avg += word_to_vec_map[w]
32 # Increment count
33 count +=1

KeyError: ‘love’

avg initialization is fine:

avg = np.zeros(word_to_vec_map[any_word].shape)

cannot find what the error is. As the ‘love’ is not in word_to_vec_map

pls help!

That’s the problem. You should check if w is in the dictionary.