4

NLPタスクのためにKerasでCNNを使用していますが、max poolingの代わりにmax over time poolingを試行しています。Kerasの時間の経過に伴う最大時間

どのようにこれを達成するためのアイデア/ハックですか?

私は、時間プーリングの上に最大の意味することは、彼らがベクトル

答えて

3

データの形状があると仮定すると(batch_size, seq_len, features)あなたが適用される場合があります:

seq_model = Reshape((seq_len * features, 1))(seq_model) 
seq_model = GlobalMaxPooling1D()(seq_model) 
+0

正確に私が必要としたもの、 – bluesummers

+0

@bluesummers本当にあなたの質問に答えるか? model.summary()を見てください。あなたは '最高のn値'ではなく、1つの最大値を受け取ります。 –

+0

@AlexeyGolyshev、あなたは最大値を受け取ることはできません、入力は(サンプル、ステップ、機能)の形であり、出力は(サンプル、機能) - これは1最大値に制限されていません – bluesummers

0

であるどんなにちょうどKeras' permute functionを使用して寸法を切り替える、最高値をプールすることです。このようにして、時間ディメンションを最大限にプールします。例えば

seq_model = Permute((2, 1))(seq_model) 

seq_model = MaxPooling1D()(seq_model) 
+0

私は多分、私が欠けている...これはそれを解決する方法が表示されません何か、しかし、docは、Permuteはdimsのベクトルを変更するだけ...私は何を探しているのか分からなかったかもしれない質問を編集 – bluesummers

関連する問題