3
m
によってn
の2つのランク2テンソルarr1
とarr2
があります。テンソルarr2
はブール値です。その行のそれぞれに正確に1つのエントリはTrue
です。 Iはarr3
のi
番目のエントリは、arr2
のi
行目はTrue
に等しい場合に対応arr1
のi
行目のエントリに等しい長さm
の新しいランク1テンソルarr3
を抽出します。 numpy
でテンソルのブーリアンテンソルを使用してテンソルのサブセットを選択してください
次のように、私はこれを行うことができます。
arr1 = np.array([[1,2],
[3,4]])
arr2 = np.array([[0,1],
[1,0]], dtype="bool")
arr3 = arr1[arr2]
私はtensorflow
に似た何かを行うことができますか?私はeval()
テンソルを使用してnumpy
関数を使用することができることを知っていますが、それは非効率的です。
このquestionは、tf.gather
とtf.select
の使用を示唆していますが、私の質問のように出力の次元を崩壊させることはありません。