UnicodeEncodeError:Ascii编解码器无法在位置0编码字符u2581:序数不在范围内(128)

时间:2018-03-29 13:26:50

标签: python terminal chatbot

  

追踪(最近一次呼叫最后一次):文件" train.py",第18行,in          tf.app.run(main = nmt.main,argv = [os.getcwd()+' \ nmt \ nmt \ nmt.py'] + unparsed)文件   " /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)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py" ;,第271行,在   培养       sample_tgt_data)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py" ;,第142行,in   run_full_eval       sample_src_data,sample_tgt_data)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py" ;,第55行,in   run_sample_decode       infer_model.batch_size_placeholder,summary_writer)File" /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行,格式为_sentence       sentence = format_spm_text(sentence)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/utils/misc_utils.py",   第181行,格式为_spm_text       返回你"" .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'编解码器不能对字符u' \ u2581'进行编码。在   位置0:序数不在范围内(128)

     

追踪(最近一次呼叫最后一次):文件" train.py",第18行,in          tf.app.run(main = nmt.main,argv = [os.getcwd()+' \ nmt \ nmt \ nmt.py'] + unparsed)文件   " /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)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py" ;,第271行,在   培养       sample_tgt_data)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py" ;,第142行,in   run_full_eval       sample_src_data,sample_tgt_data)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/train.py" ;,第55行,in   run_sample_decode       infer_model.batch_size_placeholder,summary_writer)File" /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行,格式为_sentence       sentence = format_spm_text(sentence)File" /home/paperspace/Desktop/nmt-chatbot/nmt/nmt/utils/misc_utils.py",   第181行,格式为_spm_text       返回你"" .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'编解码器不能对字符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。

1 个答案:

答案 0 :(得分:1)

试试这个:

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