我实际上正在尝试编程keras模型。从我的角度来看,KERAS模型需要NP.Arrays列表X(或Numpy Array(。在我的情况下,X看起来像这样:
print(training.dtype)
对象
print(training.shape)
(406,(
print(training[0].dtype)
float64
print(training[0].shape)
(5140,5(
这是我的火车数据(x(的大小。如果我想训练模型,我会得到此错误:
返回数组(a,dtype,copy = false,order = order = order(
valueerror:设置带有序列的数组元素。
这就是为什么我认为,我准备了错误的数据。如果我想将它们的.stype转换为float32,我会收到相同的错误。
感谢您的帮助!
如果train2
中的条目都不具有相同的大小,则需要对其进行垫子。由于这是需要定期完成的事情,因此Keras为此提供了一个功能:pad_sequences
一旦它们的大小相同,np.array(train2)
将创建一个可以将其传递给model.fit()
的单个Numpy数组。
根据您的模型,您以这种方式添加的额外数据可能是或不是问题。处理此问题的一种常见方法是掩盖。使用它来生成一个将自动传递到模型的掩码,以便忽略某些值(您通过填充的值(被忽略。但是请注意,并非所有图层都支持掩盖,因此也许这不是您的选择。
问题没有更改类型。问题在于批处理样本的大小相同,因此无法创建NP数组。您可以使用评论中提到的填充来解决此问题。看看Keras pad_sequences