اذهب إلى المحتوى
  • 0

ما الفرق بين Session.run و Tensor.eval في تنسرفلو Tensorflow

عامر ابراهيم

السؤال

Recommended Posts

  • 1

eval تقوم بتقييم ال Tensorالذي قام باستدعائها (دالة نستدعيها من خلال الموتر أي: ()tensor.eval). وسيؤدي استدعاء هذه الطريقة إلى تنفيذ جميع العمليات السابقة التي تنتج المدخلات اللازمة للعملية التي تنتج هذا الموتر "التنسر".  وطبعاً قبل استدعاء Tensor.eval، يجب أن يكون قد تم تشغيل البيان الخاص به في جلسة Session، ويجب أن تكون الجلسة الافتراضية متاحة ، أو يجب تحديد الجلسة بشكل صريح.
Session.run تقوم أيضاً بتقييم التنسر (run هي دالة نمرر لها الموتر أي: (tensor)Session.run).
نستنتج أنه عندما يكون لدينا موتر ما وليكن t فإن استدعاء t.eval يكافئ استدعاء tf.get_default_session().run(t) مثال:

import tensorflow as tf
t = tf.constant(5.0)
mysess = tf.Session()
with mysess.as_default():
    assert sess is tf.get_default_session()
    assert t.eval() == mysess.run(t) # لن يعطي خطأ لأنهما متساويتان

لكن Session.run نستطيع من خلالها الحصول على قيم أكثر من موتر دفعة واحدة، مثال:

t1 = tf.constant(5.0)
t2 = tf.constant(4.0)
t3 = tf.constant(6.0)
mul1 = tf.mul(t1, t2)
mul2 = tf.mul(t1,t3 )
with sess.as_default():
   # تقييم الموترين دفعة واحدة
   sess.run([mul1, mul2])   
   mul1.eval()  # تقييم الموتر الأول
   mul2.eval()  #  الثاني
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

اذا كنت تستخدم Tensor وتنادي بها  t.eval ، فهو تماما كأن تستخدم tf.get_default_session().run(t)

تعتبر t.evel هي اختصار ل sess.run(t) بحيث أن sess  هي ال session الحالية، النموذجين التاليين يؤديان نفس المهمة تماما 

sess = tf.Session()
c = tf.constant(5.0)
print sess.run(c)

c = tf.constant(5.0)
with tf.Session():
  print c.eval()

لو أن الكود الخاص بك تعامل مع عدة رسومات بيانية والكثير من الجلسات sessions فيفضل استخدام Session.run()

تم التعديل في بواسطة Ahmed Sharshar
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...