我的程序采用CSV文件,其中前6行是输入。
定义我正在使用的输入时:
inputs = Input(shape=(2697, 6))
其中2697是批量大小,6是输入大小。我知道Input(shape=(batch-size, input-size))
是正确的。
然而,当我运行它时,我收到一条消息: ValueError:检查输入时出错:预期input_1有3个维度,但是有阵列形状(2697,6)
为什么keras会将其选为三维形状?
答案 0 :(得分:3)
来自Input
文档:
参数
shape:形状元组(整数),不包括批量大小。 例如,
shape=(32,)
表示预期的输入 将是批量的32维向量。batch_shape:形状元组(整数),包括批量大小。 例如,
batch_shape=(10, 32)
表示 预期的输入将是10个32维向量的批次。batch_shape=(None, 32)
表示任意数量的批次 32维向量。
因此,您只需将shape
更改为batch_shape
Input(batch_shape=(2697, 6))
答案 1 :(得分:2)
您不应将批量大小尺寸放入输入形状,因为Keras会自动添加此尺寸。这就是你的二维输入形状变成三维的原因。只需更改此行:
inputs = Input(shape=(6,))