OpenNMT preprocess.py遇到錯(cuò)誤:TypeError: reduce_ex() takes exactly one argument (0 given)

[2019-01-10 17:07:12,320 INFO] Building & saving training data...
[2019-01-10 17:07:12,320 INFO] Reading source and target files: data/src-train.txt data/tgt-train.txt.
[2019-01-10 17:07:12,484 INFO] Building shard 0.
[2019-01-10 17:07:12,686 INFO] * saving 0th train data shard to data/demo.train.0.pt.
Traceback (most recent call last):
File "preprocess.py", line 177, in
main()
File "preprocess.py", line 167, in main
train_dataset_files = build_save_dataset('train', fields, opt)
File "preprocess.py", line 100, in build_save_dataset
dataset.save(data_path)
File "/home/zhangliang/test/OpenNMT-py/onmt/inputters/dataset_base.py", line 96, in save
torch.save(self, path)
File "/home/zhangliang/anaconda3/lib/python3.7/site-packages/torch/serialization.py", line 218, in save
return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))
File "/home/zhangliang/anaconda3/lib/python3.7/site-packages/torch/serialization.py", line 143, in _with_file_like
return body(f)
File "/home/zhangliang/anaconda3/lib/python3.7/site-packages/torch/serialization.py", line 218, in
return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))
File "/home/zhangliang/anaconda3/lib/python3.7/site-packages/torch/serialization.py", line 291, in _save
pickler.dump(obj)
File "/home/zhangliang/test/OpenNMT-py/onmt/inputters/dataset_base.py", line 61, in reduce_ex
return super(DatasetBase, self).reduce_ex()
TypeError: reduce_ex() takes exactly one argument (0 given)

這是由于OpenNMT對(duì)于python3.7不兼容的bug引起的,在我的pc上python版本是3.5沒(méi)有這個(gè)問(wèn)題,但是在python3.7環(huán)境下就出現(xiàn)了這個(gè)問(wèn)題。最后是github大佬幫助我找到了這個(gè)原因,希望高手們能投入到項(xiàng)目中PR一下
解決方案:退回到python3.6或3.5版本,anaconda3.4版本,不要用anaconda3.5
之后這個(gè)bug應(yīng)該會(huì)被修復(fù),到時(shí)候就可以用python3.7了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容