, bunu yapabiliriz:TensorFlow - numpy benzeri tensör indeksleme Numpy olarak
x = np.random.random((10,10))
a = np.random.randint(0,10,5)
b = np.random.randint(0,10,5)
x[a,b] # gives 5 entries from x, indexed according to the corresponding entries in a and b
Ben TensorFlow eşdeğer bir şey çalıştığınızda:
xt = tf.constant(x)
at = tf.constant(a)
bt = tf.constant(b)
xt[at,bt]
son satırı bir "Kötü dilim endeksi tensörünü verir "istisna. TensorFlow, numpy veya Theano gibi dizinlemeyi desteklemiyor gibi görünüyor.
Bunu yapmanın bir TensorFlow yolu olup olmadığını bilen herhangi biri var mı (bir tensörü keyfi değerlerle indekslemek). Tf.nn.embedding parçasını gördüm, ancak bunun için kullanılabileceğinden emin değilim ve yapabilseler bile, bu basit bir şey için büyük bir çözümdür.
(Şu anda, girdi olarak x
veri besleme ve Numpy içinde indeksleme yapıyor ama daha yüksek verim elde etmek için TensorFlow içine x
koymak ümit ediyorum)
bu sorun tam olarak şu şekilde görünüyor: https://github.com/tensorflow/tensorflow/issues/206 – LDGN