doo*_*ohr 4 python numpy python-3.x keras tensorflow
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"
Run Code Online (Sandbox Code Playgroud)
嗨,您好.我在尝试使用Keras的pad_sequence函数时遇到此错误.X_train是一系列字符串,其中"plus've添加的广告经历俗气"是这些字符串中的第一个.
该pad_sequence功能都有其默认的数据类型为"INT32":
keras.preprocessing.sequence.pad_sequences(sequences, maxlen=None, dtype='int32',
padding='pre', truncating='pre', value=0.)
Run Code Online (Sandbox Code Playgroud)
您传递的数据是字符串.
除此之外,您不能在keras模型中使用字符串.
你必须"标记"这些字符串.即使你认为它可以填充字符串,你必须决定它将填充的字符:
这就是为什么你必须创建一个整数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.....
Run Code Online (Sandbox Code Playgroud)
然后你的句子将是一个列表: [520, 2014, 4, ....]
| 归档时间: |
|
| 查看次数: |
3373 次 |
| 最近记录: |