TensorFlow, grafiğin bir bölümünü değerlendirmenin iki yolunu sunar: Session.run
değişkenlerin bir listesi ve Tensor.eval
. Bu ikisi arasında bir fark var mı?TensorFlow'da, Session.run() ve Tensor.eval() arasındaki fark nedir?
cevap
Tensor
t ürününüz varsa, t.eval()
numaralı telefonu arayarak tf.get_default_session().run(t)
numaralı telefonu arayın.
:
t = tf.constant(42.0)
u = tf.constant(37.0)
tu = tf.mul(t, u)
ut = tf.mul(u, t)
with sess.as_default():
tu.eval() # runs one step
ut.eval() # runs one step
sess.run([tu, ut]) # evaluates both tensors in a single step
:
t = tf.constant(42.0)
sess = tf.Session()
with sess.as_default(): # or `with sess:` to close on exit
assert sess is tf.get_default_session()
assert t.eval() == sess.run(t)
en önemli fark, aynı adımda birçok tensörlerinin değerlerini almak için sess.run()
kullanabilirsiniz olmasıdır eval
ve run
numaralı her aramanın tüm grafiği sıfırdan yürüteceğini unutmayın. Bir hesaplama sonucunu önbelleğe almak için onu tf.Variable
'a atayın.
Tensör akışı hakkındaki SSS oturumu answer to exactly the same question'a sahiptir. t.eval()
sess
geçerli varsayılan oturumu olan sess.run(t)
(demenin kısa yoludur,
t
bir Tensor
nesne ise iki kod aşağıdaki parçacıkları eşdeğerdir: Sadece devam edin ve burada bırakmak istiyorum.
sess = tf.Session()
c = tf.constant(5.0)
print sess.run(c)
c = tf.constant(5.0)
with tf.Session():
print c.eval()
, blok ömrü için varsayılan oturum olarak yükleme etkisine sahiptir. bağlam yönetici olarak aktif davranır bağlam yöneticisi yaklaşım basit kullanım durumları için daha kısa kod yol açabilir (ünite testleri gibi); Çoklu grafikler ve oturumlar,
Session.run()
'a yapılan açık çağrılar için daha basit olabilir.
Çoğu SSS'yi açıklığa kavuşturacağından, tüm SSS boyunca en azından gözden geçirmenizi tavsiye ederim.
eval() işleyemez hatam varsa
tf.reset_default_graph()
a = tf.Variable(0.2, name="a")
b = tf.Variable(0.3, name="b")
z = tf.constant(0.0, name="z0")
for i in range(100):
z=a*tf.cos(z+i)+z*tf.sin(b-i)
grad=tf.gradients(z,[a,b])
init=tf.global_variables_initializer()
with tf.Session() as sess:
init.run()
print("z:",z.eval())
print("grad",grad.eval())
ama Session.run()
print("grad",sess.run(grad))
düzeltebilir liste nesnesi
- 1. Tensorflow'un Session.run() /Tensor.eval() bir çılgın uzun süre için çalıştırın
- 2. Python'da {} ve [] arasındaki fark nedir?
- 3. UNIX'teki $ @ ve $ * arasındaki fark nedir?
- 4. $ arasındaki fark nedir? ve PowerShell
- 5. Fark() arasındaki fark nedir mustache.js
- 6. arasındaki fark nedir?
- 7. Java arasındaki fark nedir
- 8. arasındaki fark nedir?
- 9. arasındaki fark nedir?
- 10. app.doScript ve $ .evalFile arasındaki fark nedir?
- 11. gVim ve gVim arasındaki fark nedir?
- 12. isAlpha ve isLetter arasındaki fark nedir?
- 13. Control.Enter ve Control.GotFocus olayları arasındaki fark nedir?
- 14. .got ve .got.plt bölümü arasındaki fark nedir?
- 15. AutomationProperties.AutomationID ve AutomationProperties.Name arasındaki fark nedir?
- 16. Android'de getDir ve getFilesDir arasındaki fark nedir?
- 17. R içinde `=` ve `<-` arasındaki fark nedir?
- 18. uint ve System.UInt32 arasındaki fark nedir?
- 19. PropertyChangeListener ve VetoableChangeListener arasındaki fark nedir?
- 20. XSS'de IDREF ve IDREFS arasındaki fark nedir?
- 21. Cacerts ve keystore arasındaki fark nedir?
- 22. GPLv2 ve GPLv3 arasındaki fark nedir?
- 23. VarIsEmpty ve VarIsEmptyParam işlevleri arasındaki fark nedir
- 24. ActiveSupport'ta mattr_accessor ve cattr_accessor arasındaki fark nedir?
- 25. Hashtable ve Dictionary arasındaki fark nedir?
- 26. RoutedCommand ve RoutedUICommand arasındaki fark nedir?
- 27. MySQL'deki boolean ve bool arasındaki fark nedir?
- 28. Task.Factory.FromAsync ve BeginX/EndX arasındaki fark nedir?
- 29. WideChar ve AnsiChar arasındaki fark nedir?
- 30. PHP'de 'stripcslashes' ve 'stripslashes' arasındaki fark nedir?
bir beslemek için bir türlü mümkün mü tutucudur? ([sorum] (http://stackoverflow.com/questions/33810990/how-to-feed-a-placeholder)) – displayname
İkinci örnekte farklı olan nedir? Ayrı işlemleri (ya da grafikleri? Ne fark ettiğinden emin değil) değerlendirmek için mi? – Pinocchio
bekleyin, örneğiniz gerçekten çalışıyor mu? Denedim: 'a = tf.constant (2.0) b = tf.constant (3.0) ab = tf.matmul (a, b)' ve sadece şekiller, sanırım eşleşmediğini tensorflow gelen şikayetleri var daha doğrusu, rütbenin en az 2 olması gerekir. – Pinocchio