You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenNMT-py翻译命令执行报错求助:文件未找到问题

OpenNMT-py翻译命令执行报错排查

问题背景

在OpenNMT-py目录下的sample1文件夹中,已完成两项前置操作:

  • 数据准备(创建词汇表)
  • 数据训练
    执行翻译命令时触发错误。

执行的命令

onmt_translate -model sample1/newmodel_step_1200.pt -src sample1/src-test.hi -output sample1/pred_1000.txt -verbose

报错信息

(nmt1) C:\Users\anurag\OpenNMT-py>onmt_translate -model sample1/newmodel_step_1200.pt -src sample1/src-test.hi -output sample1/pred_1000.txt -verbose 
Traceback (most recent call last):
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None)
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\anurag\anaconda3\envs\nmt1\Scripts\onmt_translate.exe\_main_.py", line 7, in <module>
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\bin\translate.py", line 60, in main
translate(opt)
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\bin\translate.py", line 41, in translate
_, _ = translator._translate(
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\translate\translator.py", line 343, in _translate
for batch in infer_iter:
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\inputter.py", line 28, in __iter__
for tensor_batch in self.iterable:
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\dynamic_iterator.py", line 290, in __iter__
for bucket in self._bucketing():
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\dynamic_iterator.py", line 231, in _bucketing
for ex in self.mixer:
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\dynamic_iterator.py", line 45, in __iter__
yield from iterable
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\text_corpus.py", line 209, in __iter__
yield from indexed_corpus
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\text_corpus.py", line 186, in _add_index
for i, item in enumerate(stream):
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\text_corpus.py", line 170, in _transform
for example in stream:
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\text_corpus.py", line 153, in _tokenize
for example in stream:
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\text_corpus.py", line 63, in load
with exfile_open(self.src, mode='rb') as fs,\
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\contextlib.py", line 113, in __enter__
return next(self.gen)
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\site-packages\onmt\inputters\text_corpus.py", line 32, in exfile_open
_file = codecs.open(filename, *args, **kwargs)
File "C:\Users\anurag\anaconda3\envs\nmt1\lib\codecs.py", line 905, in open
file = builtins.open(filename, mode, buffering)
FileNotFoundError: [Errno 2] No such file or directory: 'sample1/src-test.hi'

问题根源

报错核心是FileNotFoundError: [Errno 2] No such file or directory: 'sample1/src-test.hi',说明系统找不到指定路径下的测试源文件src-test.hi。

解决步骤

  1. 检查文件存在性:打开sample1文件夹,确认是否存在src-test.hi文件,注意文件名大小写、后缀名是否完全匹配。
  2. 核对路径正确性:如果当前工作目录不是OpenNMT-py根目录,需改用绝对路径指定文件,例如C:\Users\anurag\OpenNMT-py\sample1\src-test.hi。
  3. 补全缺失文件:若文件确实缺失,重新准备测试集数据,将src-test.hi放入sample1文件夹后再执行命令。

内容的提问来源于stack exchange,提问作者Anurag Rao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:20:23