[解決済み] Tensorflow Strides Argument
質問
を理解しようとしています。 ストライド 引数を理解しようとしています。
は ドキュメント は繰り返し
のストライドです。長さ >= 4 の int のリスト。入力テンソルの各次元に対するスライディングウィンドウのストライドを指定する。
質問です。
- 4つ以上の整数はそれぞれ何を表すのでしょうか?
- なぜコンブネットでは strides[0] = strides[3] = 1 でなければならないのでしょうか?
-
で
この例
を見ると
tf.reshape(_X,shape=[-1, 28, 28, 1])
. なぜ-1?
悲しいことに、-1を使ったreshapeのドキュメントの例は、このシナリオにあまりうまく変換されません。
どのように解決するのですか?
プーリングと畳み込み演算は、入力テンソルに対してquot;window"をスライドさせる。 使用方法
tf.nn.conv2d
を例とする。入力テンソルが4次元である場合
[batch, height, width, channels]
の2次元窓で畳み込みを行う。
height, width
の次元で動作します。
strides
は、ウィンドウが各次元でどれだけ移動するかを決定します。 典型的な使用法では、最初(バッチ)と最後(深さ)のストライドを1に設定します。
非常に具体的な例を使ってみましょう。 32x32のグレイスケールの入力画像に対して2次元の畳み込みを実行します。 グレースケールと言ったのは、入力画像の深さが1であるためで、これは単純なことを維持するのに役立ちます。 その画像は次のようなものです。
00 01 02 03 04 ...
10 11 12 13 14 ...
20 21 22 23 24 ...
30 31 32 33 34 ...
...
1つの例に対して2x2のコンボリューションウィンドウを実行してみましょう(バッチサイズ=1)。 コンボリューションの出力チャンネル深度は8とします。
畳み込みの入力は
shape=[1, 32, 32, 1]
.
を指定した場合
strides=[1,1,1,1]
と共に
padding=SAME
であれば、フィルタの出力は [1, 32, 32, 8] になります。
フィルタはまず、[1, 32, 8]の出力を作成します。
F(00 01
10 11)
そして、for。
F(01 02
11 12)
といった具合です。 そして、2行目に移動して計算することになります。
F(10, 11
20, 21)
では
F(11, 12
21, 22)
1, 2, 2, 1] と指定すると、ウィンドウの重なりを計算しません。 計算されます。
F(00, 01
10, 11)
で、次に
F(02, 03
12, 13)
ストライドはプーリング演算子でも同様に動作します。
質問2:なぜconvnetsのためにstride [1, x, y, 1]なのか?
最初の1がバッチです。 普通はバッチで例を飛ばしたくないというか、そもそも入れるべきじゃないですよね :)
最後の1つは畳み込みの深さです。 同じ理由で、通常は入力を飛ばしたくありません。
conv2d演算子はより一般的なもので、例えば ができました。 しかし、これはコンボネットの典型的な使用法ではありません。 典型的な使い方は、空間的に使用することです。
なぜ -1 にリシェイプするのか -1は、quot;フルテンソルに必要なサイズに合わせるために必要に応じて調整する、というプレースホルダーです。これは、パイプラインを変更しても、コード内のあらゆる場所でバッチサイズを調整する必要がないように、コードを入力バッチサイズから独立させる方法です。
関連
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法