【发布时间】:2019-12-13 16:42:05
【问题描述】:
我实际上是在尝试编写一个 Keras 模型。在我看来,keras 模型需要一个 np.arrays 列表作为 x (或 Numpy 数组)。在我的情况下,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)
ValueError: 使用序列设置数组元素。
这就是为什么我认为,我准备的数据错误。如果我想用 .astype 将它们转换为 float32,我会得到同样的错误。
感谢您的帮助!
【问题讨论】:
-
检查用于制作
train2的物品的长度或形状。看起来它们的大小不同。 -
你试过
train2 = np.array(train2)吗?它说什么? -
@hpaulj 是的,它们的大小各不相同。这是我的模型的问题吗?
-
@sebrockm 是的,我之前做过几行。它编译没有错误。
-
@MareSeestern 是的,不同的尺寸是个问题。对你的模型来说不是那么多,而是对 numpy.您将需要截断大数组或向小数组添加填充。如果您将它们全部设为相同大小(例如
(1140, 9)),那么np.array()将生成一个大小为(907, 1140, 9)的单个numpy 数组,这是model.fit()所期望的。
标签: python numpy tensorflow keras