Keras-多维输入的样本数错误

问题描述 投票:0回答:1

我正在尝试构建一个(非常简单的)Keras模型作为项目的基准。我有一个3459个形状为(2、6、15)的numpy数组的列表作为输入,还有一个目标值列表(整数为形状为()的numpy数组)。当我尝试训练模型时,出现此错误:

“” ValueError:样本数量2小于指定的batch_size 32和步骤108所需的样本。“

到目前为止,该模型非常简单,但我无法运用于培训:

input = Input(shape=(2, 6, 15))
x = Dense(64, activation='relu')(input)
x = Dense(64, activation='relu')(x)
output = Dense(1)(x)

model = Model(inputs=input, outputs=output)
model.compile(optimizer='adam', loss='mean_squared_error',
              metrics=['accuracy'])
hist = model.fit(
    X_train,
    y_train,
    batch_size=32,
    epochs=10, 
    validation_data=(X_test, y_test),
    steps_per_epoch=(len(X_train) // 32),
    validation_steps=(len(X_test) // 32))

我目前正在从pickle文件中加载数据,我怀疑问题可能出在个别培训案例的数组结构上。当查看X_train中的数组之一时,它的结构为[[[...] ...],[[...] ...]],我怀疑代码会将外括号弄混了,因为批处理容器,因此它将读取批量大小为2的输入。只是一个理论,但我不知道如何解决这个问题以检查自己。

python arrays tensorflow keras
1个回答
0
投票

错误确实是由于您的数据生成/加载方式所致;如果在具有指定形状的随机张量上训练模型,则没有错误。

© www.soinside.com 2019 - 2024. All rights reserved.