Python=3.7.4
tensorflow==1.15.0
Keras=2.2.4
でディープラーニングを作っています。
Keras(Tensorflow)でCNNとRNN(LSTM)の混合Modelを作成したいです。
時系列で動いている画像判断処理をCNNだけでなく、以前の画像判断結果からの処理も判断に追加したModelを作りたいです。
https://keras.io/examples/imdb_cnn_lstm/
らへんが参考になるかと思っていますが、CNNのモデルが異なっているので、以下のモデルの場合、LSTMはどこにいれることが考えられるかご教授をお願いします。
CNN出力層の直前【model.add(Dropout(0.5))の後】に以下のLSTMを追加で良いかと思っていますが、そもそもCNNとRNN(LSTM)の混合Model作成の考え方について、アドバイスなど意見をお願いします。
(CNN画像処理の特徴抽出処理は完了し、結果を出すことろで前回までの影響をマージするというイメージで、CNN出力層の直前でLSTMを追加するのかなと考えています)
【追加するLSTMモデル】
Python
1# RNN(LSTM) 2model.add(LSTM(cell_size, activation='tanh', 3 recurrent_activation='sigmoid', 4 kernel_initializer='glorot_normal', 5 recurrent_initializer='orthogonal'))
【ベースとなるCNN(畳み込みニューラルネットワーク)モデル】
Python
1model = Sequential() 2model.add(Conv2D(filters=32, kernel_size=(3,3), activation='relu', input_shape=input_shape, data_format='channels_first', kernel_initializer='he_normal')) 3model.add(Conv2D(filters=64, kernel_size=(3,3), activation='relu', kernel_initializer='he_normal')) 4model.add(MaxPooling2D(pool_size=(2, 2))) 5model.add(Dropout(0.25)) 6model.add(Flatten()) 7model.add(Dense(units=128, activation='relu', kernel_initializer='he_normal')) 8model.add(Dropout(0.5)) 9# ここにRNN(LSTM)を追加?「追加するモデルは、上記に記載したRNN(LSTM)モデルです」 10model.add(Dense(units=n_classes, activation='softmax', kernel_initializer='he_normal'))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。