2017-08-12 4 views
4

Kerasの入力レイヤーを宣言するときにこのエラーメッセージが表示されます。 https://github.com/IntellijSys/tensorflow/blob/master/Keras.ipynb'conv2d_2/convolution'の1から3を引いた負の次元のサイズ

してくださいアドバイス:

ValueError: Negative dimension size caused by subtracting 3 from 1 for 'conv2d_2/convolution' (op: 'Conv2D') with input shapes: [?,1,28,28], [3,3,28,32].

私のコードは、この

model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(1,28,28))) 

サンプル・アプリケーションのようなものです。ありがとうございました。

+1

3x3カーネルを使用したいと思います。この場合、 '3、3'の代わりに'(3、3) 'を書くべきです。 – ml4294

+0

どのように(3,3)または(4,4)または(5,5)を使用してどのような違いを見つけるか? @ ml4294 –

答えて

8

既定では、Convolution2D(https://keras.io/layers/convolutional/)は、入力が "channels-last"の形式(サンプル、行、列、チャネル)であると想定しています。データがフォーマット(サンプル、チャンネル、行、列)にあるようです。 Convolution2Dレイヤーを宣言するときは、オプションのキーワードdata_format = 'channels_first'を使用してこれを修正できます。

model.add(Convolution2D(32, (3, 3), activation='relu', input_shape=(1,28,28), data_format='channels_first')) 
+0

私はまずそれを試します –

+0

tq、それは動作します! –

+0

これは良いことです。どういたしまして! – ml4294

関連する問題