【问题标题】:How to read .pkl file to a tokenizer object?如何将 .pkl 文件读取到标记器对象?
【发布时间】:2020-08-03 07:14:24
【问题描述】:

我用

 pickle.dump(tokenizer, open(TOKENIZER_MODEL, "wb"), protocol=0)

生成一个 .pkl 文件,当我尝试使用它读取它时

pickle.load(open('tokenizer.pkl'))

上升

TypeError: 需要一个类似字节的对象,而不是 'str'

但是当我尝试将此对象更改为类似字节的对象时使用

tkr = open('tokenizer.pkl')
bytes(tkr,encoding='utf-8')

上升

TypeError:没有字符串参数的编码

我想知道是否有办法将这个 .pkl 文件或 io.TextIOWrapper 文件读取到标记器对象?

【问题讨论】:

  • 从未使用过pickle,但我认为pickle.load(open('tokenizer.pkl')) 这一行应该是pickle.load(open('tokenizer.pkl', 'rb'))
  • 您是否尝试以字节模式打开文件?像这样:pickle.load(open('tokenizer.pkl', 'rb'))。 r 代表读取,b 代表字节

标签: python tensorflow pickle tokenize


【解决方案1】:

当你想读取你需要写入的文件时

file = open('tokenizer.pkl', 'rb')    
pickle.load(file)
  • 'r' 代表读取模式
  • 'b' 代表二进制模式

【讨论】:

    【解决方案2】:

    好的,我从来没有使用过 pickle,但是在 repl.it 中快速尝试之后,我认为您的问题出在这一行

    pickle.load(open('tokenizer.pkl'))
    

    应该是

    pickle.load(open('tokenizer.pkl','rb'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-18
      • 2017-09-08
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      相关资源
      最近更新 更多