1
TensorFlowテンソルで次のように実行するにはどうすればよいですか?行列AではTensorFlowテンソルの値を調整
:A [I、J]> 1その後、[I、J]は、1
を=(numpyの中で、私はこれだろう:A[A>1] = 1
)の場合
TensorFlowテンソルで次のように実行するにはどうすればよいですか?行列AではTensorFlowテンソルの値を調整
:A [I、J]> 1その後、[I、J]は、1
を=(numpyの中で、私はこれだろう:A[A>1] = 1
)の場合
あなたはtf.minimum
を使用することができ、その要素単位の最小計算を行います。
tf.where(A > 1, tf.constant(1, shape=A.shape), A).eval()
# array([-1, 0, 1, 1, 1], dtype=int32)
あなたが更新する必要がある場合:
A = tf.constant([-1, 0, 1, 3, 4])
A_clipped = tf.minimum(A, 1)
sess = tf.InteractiveSession()
A_clipped.eval()
# array([-1, 0, 1, 1, 1], dtype=int32)
別のオプションは、値を設定するtf.where
を使用している:y = 1
を設定することにより、x
の値が1
最大でクリップされます変数A
:
A = tf.Variable([-1, 0, 1, 3, 4])
tf.global_variables_initializer().run()
tf.assign(A, tf.minimum(A, 1)).eval()
A.eval()
# array([-1, 0, 1, 1, 1], dtype=int32)
あなたの答えには割り当て部分がありません。ではない? – nessuno
これらの2つのアプローチはどちらも、 'A'を直接変更するのではなく新しいテンソルを作成します。ここで' tf.assign'を実行しないと思いますか? – Psidom
私は、OPから新しいテンソルを作成しないで、入力行列Aを修正する方法をOPが尋ねています。 – nessuno