Tensorflow Keras-我的输入形状是三维的,而不是三维的

Tensorflow Keras-我的输入形状是三维的,而不是三维的,tensorflow,machine-learning,neural-network,keras,theano,Tensorflow,Machine Learning,Neural Network,Keras,Theano,我的程序接收一个CSV文件,其中前6行是输入 定义我使用的输入时: inputs = Input(shape=(2697, 6)) 其中2697为批量大小,6为输入大小。我知道Inputshape=批量大小,输入大小是正确的 但是,当我运行它时,会收到一条消息: ValueError:检查输入时出错:预期输入_1有3个维度,但得到了形状为2697,6的数组 为什么keras将其作为三维形状提取?您不应该将批量大小维度放入输入形状中,因为keras会自动添加该维度。这就是二维输入形状变为三维的原

我的程序接收一个CSV文件,其中前6行是输入

定义我使用的输入时:

inputs = Input(shape=(2697, 6))
其中2697为批量大小,6为输入大小。我知道Inputshape=批量大小,输入大小是正确的

但是,当我运行它时,会收到一条消息: ValueError:检查输入时出错:预期输入_1有3个维度,但得到了形状为2697,6的数组


为什么keras将其作为三维形状提取?

您不应该将批量大小维度放入输入形状中,因为keras会自动添加该维度。这就是二维输入形状变为三维的原因。只需更改这一行:

inputs = Input(shape=(6,))

您不应该将批量大小尺寸标注放入输入形状,因为Keras会自动添加该尺寸标注。这就是二维输入形状变为三维的原因。只需更改这一行:

inputs = Input(shape=(6,))
从输入文档:

论据

形状:形状元组整数,不包括批次大小。 例如,shape=32表示预期的输入 将是一批32维向量

batch_shape:形状元组整数,包括批次大小。 例如,batch_shape=10,32表示 预期输入将是10个32维向量的批次。 batch_shape=None,32表示任意数量的批次 由32维向量组成

因此,您可以将形状更改为批处理形状

从输入文档:

论据

形状:形状元组整数,不包括批次大小。 例如,shape=32表示预期的输入 将是一批32维向量

batch_shape:形状元组整数,包括批次大小。 例如,batch_shape=10,32表示 预期输入将是10个32维向量的批次。 batch_shape=None,32表示任意数量的批次 由32维向量组成

因此,您可以将形状更改为批处理形状