私はケラスが初めてです。
私の目標は、合計 4 つの最大プーリング レイヤーを持つことです。それらはすべて形状 (N, 256) で同じ入力を取ります。最初のレイヤーは、グローバルな最大プーリングを行い、1 つの出力を提供します。N / 2 のプーリング サイズと N / 2 のストライドを持つ 2 番目のレイヤーは、2 つの出力を提供します。3 番目は 4 つの出力を提供し、4 番目は 8 つの出力を提供します。これが私のコードです。
test_x = np.random.rand(N, 256, 1)
model = Sequential()
input1 = Input(shape=test_x.shape, name='input1')
input2 = Input(shape=test_x.shape, name='input2')
input3 = Input(shape=test_x.shape, name='input3')
input4 = Input(shape=test_x.shape, name='input4')
max1 = MaxPooling2D(pool_size=(N, 256), strides=N)(input1)
max2 = MaxPooling2D(pool_size=(N / 2, 256), strides=N / 2)(input2)
max3 = MaxPooling2D(pool_size=(N / 4, 256), strides=N / 4)(input3)
max4 = MaxPooling2D(pool_size=(N / 8, 256), strides=N / 8)(input4)
mrg = Merge(mode='concat')([max1, max2, max3, max4])
4 つの最大プーリング レイヤーを作成した後、それらをマージしようとしましたが、keras でこのエラーが発生します。
ValueError: 両方の形状の次元 1 は等しくなければなりませんが、入力形状 [?,1,1,1]、[?,2,1、 1]、[?,4,1,1]、[?,8,1,1]、[] および計算された入力テンソル: input[4] = <3>。
この問題を解決するにはどうすればよいですか? ケラスで私の目標を達成するための正しい方法をマージしていますか?