Advertisement

Keras中CNN输入维度错误

阅读量:

Keras中CNN输入维度报错

2018/6/3

想要写分类器对图片进行分类,用到了CNN。然而,在运行程序时,一直报错:

Value 错误:由于从1中减去5导致了'conv2d_1/convolution'(op:'Conv2D')操作中的维度大小为负数,并且输入形状为[?,1,28,28]和[5,5,28,30]。

这部分提到的代码是这样的,这是我的分类器的输入层:

复制代码
    model.add(Conv2D(30,(5, 5), input_shape=(1, 28, 28), activation='relu',padding="valid"))

问题出在input_shape上,报错的大意就是我的输入的维度是错误的。

百思不得其解,在Stackoverflow上找到了答案:

Keras的图片处理文档中给出:

dim_ordering参数接受一个值:‘th’或‘tf’。在‘tf’模式下,默认情况下,默认值将从您配置文件中的Keras ~/.keras/keras.json文件中获取。如果您未设置该参数,默认值将为‘tf’;而在‘th’模式下,则图片应具有形状(样本数,通道数、高度、宽度)。

具体来说来说,在处理图片时我们会遇到两种类型的维度顺序分别是"th"和"tf"这两者之间存在哪些主要区别呢?

复制代码

全部评论 (0)

还没有任何评论哟~