Tensorflowの状況があります。 Tensorflow操作を使用して特定のタイプの出力を取得したいと思います。
テンソル変数があるとします:
"input" = (2, 4, 4)
[[[ 0.6036284 0.0281072 0.78739774 0.79748493]
[ 0.92121416 0.31211454 0.75201935 0.49418229]
[ 0.99500716 0.35610485 0.78246456 0.32932794]
[ 0.44941011 0.33340591 0.56897491 0.16929366]]
[[ 0.82108098 0.50557786 0.76569009 0.04855939]
[ 0.55340368 0.11384677 0.63739866 0.09481387]
[ 0.52711403 0.5621863 0.44211769 0.85780412]
[ 0.15423198 0.80663997 0.86868405 0.48221472]]]
aから抽出される要素のインデックスを含む別のテンソル変数があります。
"idx" = (2, 2)
[[2 0]
[2 0]]
「idx」を使用して「input」をスライスすると、結果は次のようになるクエストを作成したいと思います。スライスは2次元に基づいて行われることに注意してください。
Output: (2, 2, 4)
[[[ 0.99500716 0.35610485 0.78246456 0.32932794]
[ 0.6036284 0.0281072 0.78739774 0.79748493]]
[[ 0.52711403 0.5621863 0.44211769 0.85780412]
[ 0.82108098 0.50557786 0.76569009 0.04855939]]]
「input」と「idx」が動的に入力されるTensorflowを使用して、同様の操作を実現したいと思います。
「idx」を明示的に言及するとき、私が考えることができる1つの方法は次のとおりです
idx = [[[0,2],[0,0]], [[1,2],[1,0]]]
output = tf.gather_nd(input, idx)
しかし、idx = [[[0,2]、[0,0]]、[[1,2]、[1,0]]]を動的に設定されたidx = [[2 0]から構築する方法がわかりません。 [2 0]]
さまざまな組み合わせを使用してtf.map_fnを使用しようとしましたが、それでも解決策を見つけることができませんでした。
任意のヘルプが高く評価されます..ありがとう
関連した質問
- tfkerasapplicationsInceptionV3の混合レイヤーとは何ですか?
- 事前トレーニングvgg19テンソルフロー、Kerasを使用してCNNオートエンコーダーでカスタム損失(知覚損失)を定義します
- Tensorflow/Keras Flattenレイヤーがアレイをフラット化しないのはなぜですか?
- tfkeraslayersConv2Dの使用法
- テンソルではなく値を印刷するにはどうすればよいですか?
- モジュール 'tensorflow_datasetscorefeatures'には属性 'text'がありません
- StackAbuseガイドに従いますが、機能していません
- Tensorflow DecodeJPEG:予期された画像(JPEG、PNG、またはGIF)、「\ 000 \ 000 \ 000 \ 000 \ 000 \ 000 \ 000 \ 00」で始まる不明な形式を取得しました
- なぜこのエラーが発生するのですか? TypeError:タイプのオブジェクトをTensorに変換できませんでした
- Keras Conv1Dレイヤーはどの軸で機能しますか?
次の方法で完全なインデックスを作成できます。