---------------------------------------------------------------------------
IndexError Traceback (most recent call last)<ipython-input-383-d67388d2e4cc>in<module>1 output_emb = myEmbed(total_words = total_words, embedding_dim =8)2 word_vector = torch.tensor(word_vector, dtype=torch.long).clone().detach()---->3 output = output_emb(word_vector)4print(output)5# word_vector/opt/anaconda3/envs/py36/lib/python3.6/site-packages/torch/nn/modules/module.py in _call_impl(self,*input,**kwargs)720 result = self._slow_forward(*input,**kwargs)721else:-->722 result = self.forward(*input,**kwargs)723for hook in itertools.chain(724 _global_forward_hooks.values(),<ipython-input-382-10f2ec94e0ae>in forward(self, sentences_idx)4 self.embed = nn.Embedding(total_words,embedding_dim)5defforward(self,sentences_idx):---->6return self.embed(sentences_idx).clone().detach()/opt/anaconda3/envs/py36/lib/python3.6/site-packages/torch/nn/modules/module.py in _call_impl(self,*input,**kwargs)720 result = self._slow_forward(*input,**kwargs)721else:-->722 result = self.forward(*input,**kwargs)723for hook in itertools.chain(724 _global_forward_hooks.values(),/opt/anaconda3/envs/py36/lib/python3.6/site-packages/torch/nn/modules/sparse.py in forward(self,input)124return F.embedding(125input, self.weight, self.padding_idx, self.max_norm,-->126 self.norm_type, self.scale_grad_by_freq, self.sparse)127128defextra_repr(self)->str:/opt/anaconda3/envs/py36/lib/python3.6/site-packages/torch/nn/functional.py in embedding(input, weight, padding_idx, max_norm, norm_type, scale_grad_by_freq, sparse)1812# remove once script supports set_grad_enabled1813 _no_grad_embedding_renorm_(weight,input, max_norm, norm_type)->1814return torch.embedding(weight,input, padding_idx, scale_grad_by_freq, sparse)18151816
IndexError: index out of rangein self
报错代码
数据的预处理,统计单词总数并映射成字典;
sentences =['It is a good day.','how are you?','I want to study the nn.embedding.','I want to elmate my pox.','the experience that I have done today is my favriate experience.']
sentences =[sentence.split()for sentence in sentences]
all_words =[]
total_words =0for sentence in sentences:
all_words +=[ words for words in sentence ]
no_repeat_words =set(all_words)
total_words =len(no_repeat_words)
word_to_idx ={
word: i+1for i, word inenumerate(no_repeat_words)}
word_to_idx['<unk>']=0
idx_to_word ={
i+1: word for i, word inenumerate(no_repeat_words)}print('all_words:',all_words)print('no_repeat_words:',no_repeat_words)print('idx_to_word:',idx_to_word)print('word_to_idx:',word_to_idx)print('total_words',total_words)>>>all_words:['It','is','a','good','day.','how','are','you?','I','want','to','study','the','nn.embedding.','I','want','to','elmate','my','pox.','the','experience','that','I','have','done','today','is','my','favriate',