sunyilgdx / SIFRank_zh

Keyphrase or Keyword Extraction 基于预训练模型的中文关键词抽取方法(论文SIFRank: A New Baseline for Unsupervised Keyphrase Extraction Based on Pre-trained Language Model 的中文版代码)
420 stars 78 forks source link

ValueError: operands could not be broadcast together with remapped shapes [original->remapped]: (3,2) and requested shape (2,2) #27

Open lmx666-gif opened 2 years ago

lmx666-gif commented 2 years ago

Model loaded succeed 2022-06-10 00:47:25,759 INFO: 1 batches, avg len: 77.5 Traceback (most recent call last): File "D:\BaDouAI\SIFRank_zh-master\main.py", line 16, in keyphrases = SIFRank(text, SIF, zh_model, N=15,elmo_layers_weight=elmo_layers_weight) File "D:\BaDouAI\SIFRank_zh-master\model\method.py", line 179, in SIFRank sent_embeddings, candidate_embeddings_list = SIF.get_tokenized_sent_embeddings(text_obj,if_DS=if_DS,if_EA=if_EA) File "D:\BaDouAI\SIFRank_zh-master\embeddings\sent_emb_sif.py", line 49, in get_tokenized_sent_embeddings elmo_embeddings = self.word_embeddor.get_tokenized_words_embeddings(tokens_segmented) File "D:\BaDouAI\SIFRank_zh-master\embeddings\word_emb_elmo.py", line 30, in get_tokenized_words_embeddings elmo_embedding = [np.pad(emb, pad_width=((0,0),(0,abs(max_len-emb.shape[1])),(0,0)) , mode='constant') for emb in elmo_embedding] File "D:\BaDouAI\SIFRank_zh-master\embeddings\word_emb_elmo.py", line 30, in elmo_embedding = [np.pad(emb, pad_width=((0,0),(0,abs(max_len-emb.shape[1])),(0,0)) , mode='constant') for emb in elmo_embedding] File "<__array_function__ internals>", line 6, in pad File "C:\Users\limuo\Anaconda3\envs\KeyWordsExtraction\lib\site-packages\numpy\lib\arraypad.py", line 746, in pad pad_width = _as_pairs(pad_width, array.ndim, as_index=True) File "C:\Users\limuo\Anaconda3\envs\KeyWordsExtraction\lib\site-packages\numpy\lib\arraypad.py", line 521, in _as_pairs return np.broadcast_to(x, (ndim, 2)).tolist() File "<__array_function__ internals>", line 6, in broadcast_to File "C:\Users\limuo\Anaconda3\envs\KeyWordsExtraction\lib\site-packages\numpy\lib\stride_tricks.py", line 180, in broadcast_to return _broadcast_to(array, shape, subok=subok, readonly=True) File "C:\Users\limuo\Anaconda3\envs\KeyWordsExtraction\lib\site-packages\numpy\lib\stride_tricks.py", line 125, in _broadcast_to op_flags=['readonly'], itershape=shape, order='C') ValueError: operands could not be broadcast together with remapped shapes [original->remapped]: (3,2) and requested shape (2,2)

yudian931122 commented 2 years ago

我也遇到了这个问题,将elmoformanylangs/elmo.py中的elmoformanylangs.elmo.Embedder.sents2elmo按照项目里SIFRank_zh-master/others/elmo.py的内容改一下,能正常运行了

piaofeng23 commented 2 years ago

我是改了才出的这个错误 File "C:/Users/飘枫/Desktop/SIFRank_zh-master/SIFRank_zh-master/test/test.py", line 21, in keyphrases = SIFRank(text, SIF, zh_model, N=15,elmo_layers_weight=elmo_layers_weight) File "C:\Users\飘枫\Desktop\SIFRank_zh-master\SIFRank_zh-master\model\method.py", line 179, in SIFRank sent_embeddings, candidate_embeddings_list = SIF.get_tokenized_sent_embeddings(text_obj,if_DS=if_DS,if_EA=if_EA) File "C:\Users\飘枫\Desktop\SIFRank_zh-master\SIFRank_zh-master\embeddings\sent_emb_sif.py", line 49, in get_tokenized_sent_embeddings elmo_embeddings = self.word_embeddor.get_tokenized_words_embeddings(tokens_segmented) File "C:\Users\飘枫\Desktop\SIFRank_zh-master\SIFRank_zh-master\embeddings\word_emb_elmo.py", line 29, in get_tokenized_words_embeddings elmo_embedding = [np.pad(emb, pad_width=((0,0),(0,abs(max_len-emb.shape[1])),(0,0)) , mode='constant') for emb in elmo_embedding] File "C:\Users\飘枫\Desktop\SIFRank_zh-master\SIFRank_zh-master\embeddings\word_emb_elmo.py", line 29, in elmo_embedding = [np.pad(emb, pad_width=((0,0),(0,abs(max_len-emb.shape[1])),(0,0)) , mode='constant') for emb in elmo_embedding] File "<__array_function__ internals>", line 6, in pad File "D:\PYTHON\envs\pytorch\lib\site-packages\numpy\lib\arraypad.py", line 746, in pad pad_width = _as_pairs(pad_width, array.ndim, as_index=True) File "D:\PYTHON\envs\pytorch\lib\site-packages\numpy\lib\arraypad.py", line 521, in _as_pairs return np.broadcast_to(x, (ndim, 2)).tolist() File "<__array_function__ internals>", line 6, in broadcast_to File "D:\PYTHON\envs\pytorch\lib\site-packages\numpy\lib\stride_tricks.py", line 180, in broadcast_to return _broadcast_to(array, shape, subok=subok, readonly=True) File "D:\PYTHON\envs\pytorch\lib\site-packages\numpy\lib\stride_tricks.py", line 125, in _broadcast_to op_flags=['readonly'], itershape=shape, order='C') ValueError: operands could not be broadcast together with remapped shapes [original->remapped]: (3,2) and requested shape (2,2)

piaofeng23 commented 2 years ago

不知道这个是啥问题