2
イメージをカラー化するモデルを作成しようとしています。私はLAB色空間を使用しています。モデルへの入力はLチャンネルであり、モデルはAチャンネルとBチャンネルを予測するように訓練される。私はいくつかの畳み込みを介してLチャネルを実行し、それをAチャネルとBチャネルを独立して計算する2つの他のモデルに分割したいと考えています。最後に、出力を得るためにそれらを再び結合したいと思います。マージレイヤーのケラスエラー
model = Sequential()
model.add(InputLayer((1, H, W)))
model.add(Convolution2D(64, 5, 5, border_mode = 'same', activation = 'relu'))
model.add(Convolution2D(64, 5, 5, border_mode = 'same', activation = 'relu'))
last = Convolution2D(64, 5, 5, border_mode = 'same', activation = 'relu')
model.add(last)
a_model = Sequential()
a_model.add(last)
a_model.add(Convolution2D(64, 5, 5, border_mode = 'same', activation = 'relu'))
a_model.add(Convolution2D(64, 5, 5, border_mode = 'same', activation = 'relu'))
a_model.add(Convolution2D(1, 3, 3, border_mode = 'same', activation = 'sigmoid'))
b_model = Sequential()
b_model.add(last)
b_model.add(Convolution2D(64, 5, 5, border_mode = 'same', activation = 'relu'))
b_model.add(Convolution2D(64, 5, 5, border_mode = 'same', activation = 'relu'))
b_model.add(Convolution2D(1, 3, 3, border_mode = 'same', activation = 'sigmoid'))
model.add(Merge((a_model, b_model), mode = 'concat'))
マージレイヤを作成しようとすると、次のエラーが発生します。
Using Theano backend.
Using gpu device 0: GeForce GTX TITAN (CNMeM is disabled, cuDNN 5004)
Traceback (most recent call last):
File "/home/chase/workspace/Colorizer/colorizer2.py", line 79, in <module>
model.add(Merge((a_model, b_model), mode = 'concat'))
File "/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py", line 1118, in __init__
self.add_inbound_node(layers, node_indices, tensor_indices)
File "/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py", line 524, in add_inbound_node
assert len(node_indices) == len(inbound_layers)
AssertionError
モデルのoututを(2、H、W)とすると、HとWは画像の高さと幅です。
いいですよ。私はなぜドキュメンテーションの連続したレイヤーでそれを表示するのかわかりません。 http://keras.io/layers/core/#merge – chasep255
あなたはマージすることができます。 –