python,神经网络,要使用的input_shape的维度和值

时间:2017-04-17 10:14:21

标签: python dataset keras conv-neural-network dimension

我需要在数据集上构建CNN模型,该数据集包含65536行(每行代表1个图像),49列(7x7图像)和二进制类(第50列)。

我正在引用使用mnist数据集执行CNN的示例,但我未能构建列车模型。

当我在这行代码时:

model.add(Conv2D(30 ,(5,5), padding='valid',  activation='relu',input_shape=(1,7,7))

我有这个错误:

ValueError: Negative dimension size caused by subtracting 5 from 1 for 'conv2d_42/convolution' (op: 'Conv2D') with input shapes: [?,1,7,7], [5,5,7,30].

我试试这个:

model.add(Conv2D(30 ,(5,5), padding='valid',  activation='relu',input_shape=(1(7,7)))

我有这个:

TypeError: int() argument must be a string or a number, not 'tuple'

我要问的是我应该使用什么值来建立模型

1 个答案:

答案 0 :(得分:0)

如你所知,Keras可以在Tensorflow的Theano之上运行。您正在使用Theano维度排序(通道,高度,宽度),但您的Keras似乎使用Tensorflow后端,具有Tensorflow维度排序(高度,宽度,通道)。

我建议重写代码并将通道维度(= 1)放在最后。还有通过编辑keras.json来改变后端和/或维度排序的方法。