atulkum / pointer_summarizer

pytorch implementation of "Get To The Point: Summarization with Pointer-Generator Networks"
Apache License 2.0
904 stars 243 forks source link

Illegal division by zero at /My-path-to-RELEASE-1.5.5/ROUGE-1.5.5.pl line 2450. #41

Open Lanme opened 4 years ago

Lanme commented 4 years ago

I was training by chinese weibo data ,but when running decode.py,it failed to calculate rouge score .This is the issue which have the same problem but still remain to be sovled. https://github.com/andersjo/pyrouge/issues/5

Decoder has finished reading dataset for single_pass. Now starting ROUGE eval... Illegal division by zero at /usr/local/ROUGE-1.5.5/ROUGE-1.5.5.pl line 2450. Traceback (most recent call last): File "training_ptr_gen/decode.py", line 208, in beam_Search_processor.decode() File "training_ptr_gen/decode.py", line 106, in decode results_dict = rouge_eval(self._rouge_ref_dir, self._rouge_dec_dir) File "/mnt/jml/nlp/summarize/pointer_summarizer/data_util/utils.py", line 28, in rouge_eval rouge_results = r.convert_and_evaluate() File "/usr/local/lib/python3.5/dist-packages/pyrouge-0.1.3-py3.5.egg/pyrouge/Rouge155.py", line 367, in convert_and_evaluate rouge_output = self.evaluate(system_id, rouge_args) File "/usr/local/lib/python3.5/dist-packages/pyrouge-0.1.3-py3.5.egg/pyrouge/Rouge155.py", line 342, in evaluate rouge_output = check_output(command, env=env).decode("UTF-8") File "/usr/lib/python3.5/subprocess.py", line 626, in check_output **kwargs).stdout File "/usr/lib/python3.5/subprocess.py", line 708, in run output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['/usr/local/ROUGE-1.5.5/ROUGE-1.5.5.pl', '-e', '/usr/local/ROUGE-1.5.5/data', '-c', '95', '-2', '-1', '-U', '-r', '1000', '-n', '4', '-w', '1.2', '-a', '-m', '/tmp/tmpw5iw2_0n/rouge_conf.xml']' returned non-zero exit status 255

saiprabhakar commented 4 years ago

I got a similar error with English when some of the reference/decode files were empty or only have '-' in them (which I think rouge interprets as empty). So I am guessing you have empty files or have some file which only has characters that ROUGE doesn't interpret correctly.