【发布时间】:2018-09-08 11:39:25
【问题描述】:
Traceback(最近一次调用最后一次):文件“train.py”,第 18 行,在 tf.app.run(main=nmt.main, argv=[os.getcwd() + '\nmt\nmt\nmt.py'] + 未解析) 文件 "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", 第 48 行,运行中 _sys.exit(main(_sys.argv[:1] + flags_passthrough)) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/nmt.py”,第 551 行,在 主要的 run_main(FLAGS, default_hparams, train_fn, inference_fn) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/nmt.py”,第 544 行,在 运行主 train_fn(hparams, target_session=target_session) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 271 行,在 火车 sample_tgt_data)文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 142 行,在 run_full_eval sample_src_data, sample_tgt_data) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 55 行,在 run_sample_decode infer_model.batch_size_placeholder,summary_writer)文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 454 行,在 _sample_decode utils.print_out(b" src:" + utils.format_sentence(src_data[decode_id], hparams.subword_option))
文件 “/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/utils/misc_utils.py”, 第 193 行,在 format_sentence 中 句子= format_spm_text(句子)文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/utils/misc_utils.py”, 第 181 行,格式为_spm_text return u"".join(format_text(symbols).decode("utf-8").split()).replace(File “/usr/lib/python2.7/encodings/utf_8.py”,第 16 行,在解码中 return codecs.utf_8_decode(input, errors, True) UnicodeEncodeError: 'ascii' codec can't encode character u'\u2581' in 位置 0:序数不在范围内(128)Traceback(最近一次调用最后一次):文件“train.py”,第 18 行,在 tf.app.run(main=nmt.main, argv=[os.getcwd() + '\nmt\nmt\nmt.py'] + 未解析) 文件 "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", 第 48 行,运行中 _sys.exit(main(_sys.argv[:1] + flags_passthrough)) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/nmt.py”,第 551 行,在 主要的 run_main(FLAGS, default_hparams, train_fn, inference_fn) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/nmt.py”,第 544 行,在 运行主 train_fn(hparams, target_session=target_session) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 271 行,在 火车 sample_tgt_data)文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 142 行,在 run_full_eval sample_src_data, sample_tgt_data) 文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 55 行,在 run_sample_decode infer_model.batch_size_placeholder,summary_writer)文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py”,第 454 行,在 _sample_decode utils.print_out(b" src:" + utils.format_sentence(src_data[decode_id], hparams.subword_option))
文件 “/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/utils/misc_utils.py”, 第 193 行,在 format_sentence 中 句子= format_spm_text(句子)文件“/home/paperspace/Desktop/nmt-chatbot/nmt/nmt/utils/misc_utils.py”, 第 181 行,格式为_spm_text return u"".join(format_text(symbols).decode("utf-8").split()).replace(File “/usr/lib/python2.7/encodings/utf_8.py”,第 16 行,在解码中 return codecs.utf_8_decode(input, errors, True) UnicodeEncodeError: 'ascii' codec can't encode character u'\u2581' in 位置 0:序数不在范围内(128)
我在这些代码行中遇到错误:
def format_spm_text(symbols):
"""Decode a text in SPM (https://github.com/google/sentencepiece)
format."""
return u"".join(format_text(symbols).decode("utf-8").split()).replace(
u"\u2581", u" ").strip().encode("utf-8")
我正在尝试通过运行名为“train.py”的文件来训练聊天机器人。我使用命令“sudo python train.py”,我当前在 Ubuntu 中的 python 版本是 3.6 版。在我的本地 MacOS 上,完全相同的代码似乎运行良好,但我在其上运行 Python 2.7 版。
【问题讨论】:
-
此错误由 Python 2.7 (
.../usr/lib/python2.7/encodings/utf_8.py...) 产生。检查python --version并尝试使用python3命令。 -
尝试解码为 ''unicode-escape''。前任。 format_text(symbols).decode("unicode-escape")