2017-11-11 9 views
0

enter image description hereKERASのmodel.summaryの "None"の意味は何ですか?

出力シェイプの(なし、100)の意味はなんですか? サンプル番号または非表示のディメンション( "なし")ですか?

+0

また、データセットのサイズのような形状で、length/timesteps寸法変数を作ることができます。特定の番号に限定されていないので、「None」に設定してください – DJK

答えて

2

Noneは、この次元が可変であることを意味します。

ケラスモデルの最初の次元は、常にバッチサイズです。非常に特殊なケース(例えば、stateful=True LSTMレイヤーで作業する場合)を除いて、固定バッチサイズは必要ありません。

これは、このディメンションがモデルを定義するときに無視されることが多いためです。たとえば、input_shape=(100,200)を定義すると、実際にはバッチサイズは無視され、「各サンプル」の形状が定義されます。内部的には形状は(None, 100, 200)であり、可変バッチサイズが可能であり、バッチ内の各サンプルは形状が(100,200)である。

バッチサイズは、fitまたはpredictメソッドで自動的に定義されます。


その他None寸法:

だけでなく、バ​​ッチ寸法は、同様にNoneであってもよいが、他の多くのことができます。

たとえば、予想される入力が(batchSize, height, width, channels)である2D畳み込みネットワークでは、(None, None, None, 3)のような形状を持つことができ、さまざまな画像サイズが可能です。リカレントネットワークではと1D畳み込みで

、あなたも(None, None, featuresOrChannels)

+0

ありがとうございました! 機能番号が4でバッチ番号が1の入力が3つある場合、5つのニューロンを持つ密層(5)の後に、5つのニューロンからそれぞれ1つの番号が得られます。だから私は最終的に(1,5)出力次元を取得それは正しいですか? –

+0

「どの機能番号が4の3入力」は分かりません。しかし、Dense(5)は常に5の最後の次元を変換し、他のものを繰り返します。 '(batch、4)'の入力形状は '(batch、5)'になります。 '(batch、timesteps、4)'の入力形状は '(batch、timesteps、5)'になります。 –

+0

ありがとう!それは私に多くの助けになります:) –

関連する問題