Python 3.x OpenNMT玩具示例的问题(Python3.9)

Python 3.x OpenNMT玩具示例的问题(Python3.9),python-3.x,opennmt,Python 3.x,Opennmt,我最近安装了OpenNMT,但在查看玩具示例时出现以下错误 我有macOS Big Sur 11.2.1 我已经安装了python2.7和python3.9 pip安装--升级OpenNMT py==2.0.0rc1 wgethttps://s3.amazonaws.com/opennmt-trainingdata/toy-ende.tar.gz tar xf toy ende.tar.gz cd玩具店 Traceback (most recent call last): File &quo

我最近安装了OpenNMT,但在查看玩具示例时出现以下错误

我有macOS Big Sur 11.2.1 我已经安装了python2.7和python3.9

pip安装--升级OpenNMT py==2.0.0rc1

wgethttps://s3.amazonaws.com/opennmt-trainingdata/toy-ende.tar.gz

tar xf toy ende.tar.gz

cd玩具店

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/bin/onmt_build_vocab", line 8, in <module>
    sys.exit(main())
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/onmt/bin/build_vocab.py", line 63, in main
    build_vocab_main(opts)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/onmt/bin/build_vocab.py", line 23, in build_vocab_main
    ArgumentParser.validate_prepare_opts(opts, build_vocab_only=True)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/onmt/utils/parse.py", line 127, in validate_prepare_opts
    cls._validate_data(opt)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/onmt/utils/parse.py", line 42, in _validate_data
    cls._validate_file(path_src, info=f'{cname}/path_src')
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/onmt/utils/parse.py", line 18, in _validate_file
    raise IOError(f"Please check path of your {info} file!")
OSError: Please check path of your corpus_1/path_src file!
回溯(最近一次呼叫最后一次):
文件“/Library/Frameworks/Python.framework/Versions/3.9/bin/onmt\u build\u vocab”,第8行,在
sys.exit(main())
文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site packages/onmt/bin/build_vocab.py”,第63行,在main中
构建语音主站(opts)
文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site packages/onmt/bin/build\u vocab.py”,第23行,在build\u vocab\u main中
ArgumentParser.validate\u prepare\u opts(opts,build\u vocab\u only=True)
文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site packages/onmt/utils/parse.py”,第127行,在validate\u prepare\u opts中
cls.\u验证\u数据(opt)
文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site packages/onmt/utils/parse.py”,第42行,在验证数据中
cls._validate_文件(path_src,info=f'{cname}/path_src')
文件“/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/onmt/utils/parse.py”,第18行,在验证文件中
raise IOError(f“请检查{info}文件的路径!”)
OSError:请检查您的语料库\u 1/path\u src文件的路径!

您可以按照以下步骤操作:

pip安装——升级OpenNMT py==2.0.0rc1;
wgethttps://s3.amazonaws.com/opennmt-trainingdata/toy-ende.tar.gz;
tar xf toy-ende.tar.gz;
回音“###样本将被写入的地方
保存数据:toy ende/run/example
##将在何处编写词汇
src_vocab:toy ende/run/example.vocab.src
tgt_vocab:toy ende/run/example.vocab.tgt
#防止覆盖文件夹中的现有文件
覆盖:False
#语料库选择:
数据:
语料库1:
路径:toy-ende/src-train.txt
路径:toy-ende/tgt-train.txt
有效期:
路径_src:toy ende/src-val.txt
路径:toy-ende/tgt-val.txt
“>toy_en_de.yaml;
mkdir玩具ende/run;
touch toy ende/run/example.vocab.src;
touch toy ende/run/example.vocab.tgt;
onmt_build_vocab-config toy_en_de.yaml-n_sample 10000;
echo刚刚创建的词汇表文件
src_vocab:toy ende/run/example.vocab.src
tgt_vocab:toy ende/run/example.vocab.tgt
#在单个GPU上训练
世界面积:1
gpu排名:[0]
#在哪里保存检查点
保存模型:玩具ende/run/model
保存检查点步骤:500
列车步数:1000
有效步数:500
“>>玩具公司;
onmt_train-配置玩具(en_de.yaml);;
如果没有GPU,则需要删除或注释以下行:

#在单个GPU上训练
世界面积:1
gpu排名:[0]

目录是
toy ende
,而不是
toy ende
,因此我是否应该在toy ende文件夹外运行omnt_build和onmt_train命令?如果我在尝试运行训练命令后获得
属性错误:模块“torch.”C“没有属性”\u cuda_setDevice'
错误,会发生什么?Thanks@JoseChavez从
toy ende
文件夹的父文件夹运行这些命令,它应该可以工作。由于您的主板上似乎没有GPU,因此只能在CPU上运行,为此,您需要注释掉
world\u size:1
GPU列:[0]
文件中的
*.yml
行,请参阅。谢谢。你知道我如何在google colab GPU上运行这个吗?谢谢你!谢谢你的帮助