追溯(最近一次通话):文件“ 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,在
  run_main
      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行,采用format_spm_text
      返回u“”。join(format_text(symbols).decode(“ utf-8”)。split())。replace(File
  解码中的“ /usr/lib/python2.7/encodings/utf_8.py”,第16行
      返回codecs.utf_8_decode(input,errors,True)UnicodeEncodeError:'ascii'编解码器无法在其中编码字符u'\ u2581'
  位置0:序数不在范围内(128)
  
  追溯(最近一次通话):文件“ 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,在
  run_main
      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行,采用format_spm_text
      返回u“”。join(format_text(symbols).decode(“ utf-8”)。split())。replace(File
  解码中的“ /usr/lib/python2.7/encodings/utf_8.py”,第16行
      返回codecs.utf_8_decode(input,errors,True)UnicodeEncodeError:'ascii'编解码器无法在其中编码字符u'\ u2581'
  位置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。

最佳答案

试试这个:

def format_spm_text(symbols):
  return u"".join(format_text(symbols).decode("unicode-escape").split()).replace(
  u"\u2581", u" ").strip().encode("utf-8")

10-04 21:47