在Keras中读取LSTM的文本时如何解决此'UnicodeEncodeError'/'TypeError'

时间:2019-06-01 05:46:47

标签: python keras

我正在使用代码here by the keras team使用LSTM生成文本,但是我使用了自己的文本数据。在GPU上运行时出现此错误。

我认为我们需要使用'utf-8',但是从文本文件中读取时已经指定了它。

path = 'path/to/mytxt.txt'
with io.open(path, encoding='utf-8') as f:
    text = f.read().lower()

我不明白问题出在哪里,其余代码完全相同。出现错误的部分:

def on_epoch_end(epoch, _):
    # Function invoked at end of each epoch. Prints generated text.

    start_index = random.randint(0, len(text) - maxlen - 1)
    for diversity in [0.2, 0.5, 1.0, 1.2]:

        generated = ''
        sentence = text[start_index: start_index + maxlen]
        generated += sentence
        print('----- Generating with seed: "' + sentence + '"')

错误:

  

on_epoch_end中第77行的文件“ txt_gen.py”

     

print('-----用种子生成:“'+句子+'”')

     

UnicodeEncodeError:'ascii'编解码器无法在位置65编码字符'\ u201c':序数不在范围(128)中

更新:

尝试print('----- Generating with seed: "' + sentence.encoded('utf-8') + '"'),现在错误更改为

  

TypeError:无法将“字节”对象隐式转换为str

0 个答案:

没有答案