kerasを用いてCNNのinceptionモジュールを作りたいのですが、
以下のようなエラーが出ます。
CMD
1Traceback (most recent call last): 2 File "CNN_New.py", line 85, in <module> 3 incept1 = layers.concatenate([incept1_a, incept1_b, incept1_c, incept1_d], axis=-1) 4 File "D:\Users\Sohto\Anaconda3\envs\Tensorflow\lib\site-packages\keras\layers\merge.py", line 649, in concatenate 5 return Concatenate(axis=axis, **kwargs)(inputs) 6 File "D:\Users\Sohto\Anaconda3\envs\Tensorflow\lib\site-packages\keras\engine\base_layer.py", line 463, in __call__ 7 self.build(unpack_singleton(input_shapes)) 8 File "D:\Users\Sohto\Anaconda3\envs\Tensorflow\lib\site-packages\keras\layers\merge.py", line 362, in build 9 'Got inputs shapes: %s' % (input_shape)) 10ValueError: A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 25, 25, 64), (None, 23, 23, 64), (None, 21, 21, 64), (None, 22, 22, 64)]
エラーの意味もどこを直せばよいのかも分かってません。
どこを直せばよいのでしょうか。
モデル構築が初めてで間違っている部分がたくさんあると思いますが、
下にコードのモデルの部分を載せるのでアドバイスお願いします。
python
1 2incept1_a = layers.Conv2D(incept1_fmaps, (1, 1), activation=tf.nn.relu, input_shape=(2, 2, 1))(pool2) 3incept1_b = layers.Conv2D(incept1_fmaps, (1, 1), activation=tf.nn.relu, input_shape=(2, 2, 1))(pool2) 4incept1_b = layers.Conv2D(incept1_fmaps, (3, 3), activation=tf.nn.relu, input_shape=(2, 2, 1))(incept1_b) 5incept1_c = layers.Conv2D(incept1_fmaps, (1, 1), activation=tf.nn.relu, input_shape=(2, 2, 1))(pool2) 6incept1_c = layers.Conv2D(incept1_fmaps, (5, 5), activation=tf.nn.relu, input_shape=(2, 2, 1))(incept1_c) 7incept1_d = layers.MaxPooling2D(pool_size=(2, 2), strides=(1, 1), padding='VALID')(pool2) 8incept1_d = layers.Conv2D(incept1_fmaps, (3, 3), activation=tf.nn.relu, input_shape=(2, 2, 1))(incept1_d) 9 10incept1 = layers.concatenate([incept1_a, incept1_b, incept1_c, incept1_d], axis=-1) 11
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/02 15:24