この記事では、tensorflow 1.0 のプーリング層 (pooling) と全結合層 (dense) を主に紹介します。一緒に見てみましょう
プーリング層はtensorflow/python/layers/pooling.pyで定義されています
最大プーリングと平均プーリングがあります。
1. tf.layers.max_pooling2d
max_pooling2d( inputs, pool_size, strides, padding='valid', data_format='channels_last', name=None )
入力: プールされたデータ。
pool_size: [3, 3] などのプールされたコア サイズ (pool_height、pool_width)。長さと幅が等しい場合は、
strides: プールのスライディング ステップ サイズ。 [1,1] のような 2 つの整数に設定することもできます。また、strides=2
padding: エッジ パディングのように、「同じ」または「有効」のいずれかを選択します。デフォルトは有効です
data_format: 入力データ形式、デフォルトはchannels_last、つまり(バッチ、高さ、幅、チャネル)ですが、(バッチ、チャネル、高さ、幅)に対応するchannels_firstに設定することもできます。
name: レイヤーの名前。
例:
pool1=tf.layers.max_pooling2d(inputs=x, pool_size=[2, 2], strides=2)
は通常、次のように畳み込み層の後に配置されます:
conv=tf.layers.conv2d( inputs=x, filters=32, kernel_size=[5, 5], padding="same", activation=tf.nn.relu) pool=tf.layers.max_pooling2d(inputs=conv, pool_size=[2, 2], strides=2)
2.tf.layers.average_pooling2d
average_pooling2d( inputs, pool_size, strides, padding='valid', data_format='channels_last', name=None )
パラメータと以前の最大値バリュープーリングと同じです。
完全に接続された高密度層は、tensorflow/python/layers/core.py.
3、tf.layers.dense
dense( inputs, units, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, trainable=True, name=None, reuse=None )
で定義されています。入力: 入力データ、2 次元テンソル。
units: この層のニューラルユニットノードの数。
activation: 活性化関数。
use_bias: ブール型、バイアス項を使用するかどうか。
kernel_initializer: 畳み込みカーネルの初期化子。
bias_initializer: バイアス項の初期化子、デフォルトの初期化です0.
kernel_ Regularizer: 畳み込みカーネルの正則化、オプション。
バイアス項の正則化。
trainable: ブール値。タイプ、かどうかを示すこの層のパラメータはトレーニングに参加します。 true の場合、変数はグラフ コレクション GraphKeys.TRAINABLE_VARIABLES に追加されます (tf.Variable を参照)。
name: レイヤーの名前。
reuse: ブール型、パラメーターを再利用するかどうか。
全接続層の実行操作の出力 = activity(inputs.kernel +bias)
例:
#全连接层 dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu) dense2= tf.layers.dense(inputs=dense1, units=512, activation=tf.nn.relu) logits= tf.layers.dense(inputs=dense2, units=10, activation=None)
完全に接続された層のパラメータを正規化することもできます:
コードをコピーします
コードは次のとおりです:
dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu,kernel_regularizer=tf.contrib.layers.l2_regularizer(0.003))
関連する推奨事項:あTensorflow モデルについての簡単な説明 ロードの保存と復元
tensorflow でデータをロードする 3 つの方法の詳細な説明
以上がtensorflow1.0 プーリング層 (プーリング) と全結合層 (密) についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。