2017-06-20 3 views
1

TensorflowテンソルAのサイズは(64,2,82,1)ですが、(:、:、80:82、:)の部分をテンソルBの対応する部分、2、82、1)サイズ)。Tensorflowテンソルの特定の値を他のテンソルの値で置き換えるにはどうすればよいですか?

どうすればいいですか?

PS:正確には、私はnumpyの中で次のようになり、操作の意味:

A[:, :, 80:82, :] = B[:, :, 80:82, :] 
+0

こちらの回答をご覧くださいhttps://stackoverflow.com/questions/44648788/how-to-assign-values-to-specified-location-in-tensorflow –

+0

github、https: //github.com/tensorflow/tensorflow/issues/206、それが解決されたかどうか、そしてそれがどのように解決されたのか分からなかった... –

答えて

0

tf.assign作業をする必要があります:(テストしていない)

tf.assign(A[:, :, 80:82, :], B[:, :, 80:82, :]) 
+0

残念ながら、それはしない: 'a = tf.constant([[1,2,3] tf.assign(a [0 ,:]、[4,5,6]])、b = tf.constant([[7,8,9]、[10,11,12]]) '' TypeError:assign()は予期しないキーワード引数 'name'を持っています – Massyanya

+0

代入は通常数値を変数に関連付けるために使用されます... –

1

に次のコードを助けるかもしれませんあなたはいくつかのアイデアを得るために、

a = tf.constant([[11,0,13,14], 
       [21,22,23,0]]) 
condition = tf.equal(a, 0) 
case_true = tf.reshape(tf.multiply(tf.ones([8], tf.int32), -9999), [2, 4]) 
case_false = a 
a_m = tf.where(condition, case_true, case_false) 
sess = tf.Session() 
sess.run(a_m) 

ここで私はテンソの個々の要素にアクセスしていますr!

関連する問題