私がしたいのは、(h、w、num_images)の形式の画像のスタックを作成し、簡単に描画することができる単一のイメージですが、グリッド内にラップアラウンドしたいと思います(テンソルフローでこれを実行したい、つまりグラフ描画の準備ができたグリッドイメージを出力します)。いずれの入力によってテンソルフローのグリッド(すなわち、ラップアラウンド)でタイル画像
:
)列の数(単一列の画像の、すなわち最大数)
OR
B)の最大幅(例えば、画面幅)。上記を自動的に計算します
私はそれを行うnumpyコードを持っていますが、それはかなり遅いです、私が考えるグラフの一部としてGPU上で行うのがより理にかなっています。
私tensorflowグラフコードが(最後の軸が画像のスタックを含んでいるので、tは、畳み込み層の出力である)本である:
act = tf.squeeze(t) # batch size is 1, so remove it
act = tf.unstack(act, num=num_filters, axis=-1) # split last axis (filters) into list of (h, w)
act = tf.stack(act) # re-stack on first axis
これは私(num_filters、H、W)を与えるI私が書いたより一般的なnumpyコードにフィードします。これはグリッドに入れます(私のnumpyコードはかなり一般的ですし、可変サイズの画像で動作するので、下には含めません)。
テンソルフローでこれを直接行うことはできますか?
(私が代わりにtf.stackのtf.concatを行うにした場合は、私は側のタイル、それらをサイドすることができますが、彼らはラップアラウンドを持っていない)