2016-05-05 21 views
6

Tensorflow'da bir skaler tensörü bir tamsayıya dönüştürmek isterim. bunu yapmak mümkün mü?Tensorflow: Skaler tensörü python'da skaler değişkene dönüştürmek nasıl?

Bir döngü oluşturmam gerekiyor ve döngü dizini bir skaler tensördür ve döngü gövdesinin içinde, tensör dizisindeki bir girdiye erişmek için dizini kullanmak istiyorum. Örneğin

:

idx = tf.constant(0) 
c = lambda i : tf.less(i, 10) 
def body(idx) : 
    i = # convert idx to int 
    b = weights[i] # access an entry in a tensor array, tensor cannot be used directly 
    .... 
    return idx+1 
tf.while_loop(c, body, [idx]) 
+0

geliyor ?? Burada paylaş lütfen. –

cevap

-2

Bir değer almak için bir tensörünü değerlendirmek gerekir.

Bunu yapmak isterseniz:

i = # convert idx to int 
Eğer sess.run() veya idx.eval() yapabilirsiniz

:

i = sess.run(idx) 
Bir tf.Session oluşturmanız gerekir
+0

Grafik konstrüksiyon sırasında, bir oturumda değil, bunu yapmalıyım. While döngüsü grafiği oluşturur. Mümkün mü? – Fei

+0

@Fei, session.run()/eva() olmadan mümkün değildir. Daha sonra numpy dizisini kullanmak isteyebilirsiniz. –

1

() iPython Notebook kullanıyorsanız

with tf.Session() as sess: 
    scalar = tensor_scalar.eval() 

skaler bir tensörünü yayınlamak üzere, sen Interactive Session kullanabilirsiniz:

sess = tf.InteractiveSession() 
scalar = tensor_scalar.eval() 
# Other ops 
sess.close() 
İlgili konular