我正在使用
pad_sequences()
。
这是我的代码:
from tensorflow.keras.utils import pad_sequences
input_x[i] = pad_sequences(x00_1[i], padding='post', maxlen=128,dtype='float32')
x00_1.形状 = ( 1, 389, 39 )
但我收到错误
IndexError: too many indices for array
。
我该如何修复它?
我的版本:
Python 3.6
Tensorflow 1.14.0
Keras2.3.1
这可能是因为您尝试将 pad_sequences 应用于 'x00_1[i]' 的元素,该元素与 pad_sequences 的预期输入形状不兼容。
'x00_1[i]' 是一个 3 维数组
pad_sequences() 通常用于序列列表,其中每个序列都是一维数组或整数或浮点数列表。它的长度应该是统一的。
您正在尝试使用 input_x[i] = pad_sequences() 索引 x00_1。由于 x00_1 是 3D 数组,x00_1[i] 将是 2D 数组,这可能不是 pad_sequences 的预期输入。
如果要填充第二个维度,则需要循环遍历第一个维度并对每个序列列表应用 pad_sequences 。
在应用 pad_sequences 之前,您应该将数组的相关切片转换为序列列表。