私は3つの配列X
,Y
およびZ
を持っています。 Z
の対応する要素が真である場合、res
とX
の要素を入れたいと思います。それ以外の場合は、Y
の要素を入れます。ここで()は1〜2の位置引数をとりますが、3は与えられました
私はこのようにそれを実装:
X = tf.constant([[1, 2], [3, 4]])
Y = tf.constant([[5, 6], [7, 8]])
Z = tf.constant([[True, False], [False, True]], tf.bool)
res = tf.where(Z, X, Y)
print(res.eval())
しかし、私はこのエラーを取得しています:
TypeError: where() takes from 1 to 2 positional arguments but 3 were given
私はhereからtf.where
のdefinitonを見て、私の使い方は罰金です。
何が問題なのでしょうか?
あなたは 'tf.where(Z、X = X、Y = Y)' – pramod
あなたのコードはTensorFlow 1.0.1で正常に動作しますので、私は好奇心を試すことができます。これはTFのバージョンを使用していますか? – npf