gpt4 book ai didi

python - Keras pad_sequences 为基数为 10 的 int () 抛出无效文字

转载 作者:太空狗 更新时间:2023-10-30 02:26:05 33 4
gpt4 key购买 nike

Traceback (most recent call last):
File ".\keras_test.py", line 62, in <module>
X_train = sequence.pad_sequences(X_train, maxlen=max_review_length)
File "C:\Program Files\Python36\lib\site-packages\keras\preprocessing\sequence.py", line 69, in pad_sequences
trunc = np.asarray(trunc, dtype=dtype)
File "C:\Program Files\Python36\lib\site-packages\numpy\core\numeric.py", line 531, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: invalid literal for int() with base 10: "plus 've added commercials experience tacky"

你好。尝试使用 Keras 的 pad_sequence 函数时出现此错误。X_train 是一个字符串序列,其中“plus 'add commercials experience tacky”是这些字符串中的第一个。

最佳答案

pad_sequence函数的默认数据类型为“int32”:

keras.preprocessing.sequence.pad_sequences(sequences, maxlen=None, dtype='int32', 
padding='pre', truncating='pre', value=0.)

您传递的数据是一个字符串。


除此之外,您不能在 keras 模型中使用字符串。

您必须“标记化”这些字符串。即使您可能认为它可以填充字符串,您也必须决定它将用什么字符填充:

  • 空间?但空格可能是有意义的字符
  • 空字符?最好的主意,但是如何增加带有空字符的字符串的长度?
  • 如果您使用的是单词而不是字符,其中每个标记/id 具有不同的字符串长度怎么办?

这就是为什么您必须创建代表现有数据中每个字符或单词的整数 id 值的字典。并将所有字符串转换为 ID 列表

那么您可能会受益于使用 Embedding 层启动模型。


例如,如果您使用单词 ID:

Word 0: null word
Word 1: end of sentence
Word 2: space character (maybe not important to some languages)
Word 3: a
Word 4: added
Word 5: am
Word 6: and
....
Word 520: plus
Word 2014: 've
Word
etc.....

那么你的句子将是一个列表:[520, 2014, 4, ....]

关于python - Keras pad_sequences 为基数为 10 的 int () 抛出无效文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46323296/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com