• 0

ظهور الخطأ AttributeError: module 'tensorflow' has no attribute 'Session في تنسرفلو Tensorflow

أحاول تنفيذ الكود التالي لكن يظهر لي هذا الخطأ:

import tensorflow as tf
msg = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(msg))
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-01569850c7c6> in <module>()
      1 import tensorflow as tf
      2 msg = tf.constant('Hello, TensorFlow!')
----> 3 sess = tf.Session()
      4 print(sess.run(msg))
AttributeError: module 'tensorflow' has no attribute 'Session'

ما المشكلة وما الحل؟ علماً أن نسخة تنسرفلو التي لدي هي 2.4

تمّ تعديل بواسطة عامر ابراهيم
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

بدءاً من نسخة تنسرفلو Tensorflow2.0 أصبح التنفيذ الافتراضي في تنسرفلو "Eager Execution" وهو مصطلح يشير إلى عملية تقييم العمليات على الفور، دون الانتظار لتشكيل ال Graph. أي يمكنك معرفة قيمة أي متغير أو ناتج أي عملية على الفور أما في النسخ السابقة لهذه النسخة كان التنفيذ الافتراضي للعمليات في تنسرفلو هو "Graph Execution" أي أن العمليات لايتم تقييمها حتى يتم إنشاء الجلسة بواسطة:

tf.Session().run()

أي لانكون قادرين على معرفة قيم المتغيرات حتى يتم تنفيذ ال Graph من أول عقدة فيه لآخر عقدة من خلال هذا الكود.
الآن أنت لديك نسخة 2.4 وتحاول استخدام Session التي لم يعد هناك حاجة لها فهي غير موجودة بعد الآن في تنسرفلو (بدءاً من 2.0). لذا لاداعي لاستخدام session ويمكنك عرض ناتج أي عملية مباشرةً كالتالي:

import tensorflow as tf
msg = tf.constant('Hello, TensorFlow!')
tf.print(msg)
# Hello, TensorFlow!

أما إذا كنت تريد أن تستخدم Session واعتماد ال Graph Execution فيمكنك تعطيل Eager Execution من خلال السطر التالي:

tf.compat.v1.disable_eager_execution()

وبالتالي يصبح الكود:

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('Hello, TensorFlow!')
sess = tf.compat.v1.Session()
print(sess.run(hello))

أو من خلال with:

import tensorflow as tf
with tf.compat.v1.Session() as sess:
    hello = tf.constant('hello world')
    print(sess.run(hello))
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

هذا الخطأ يظهر بسبب انك تستخدم tensorflow2 واللتى لها طريقة مختلفة عن tensorflow1 فى انشاء الsession

غير السطر اللذى يحمل الخطأ الى التالى:

sess=tf.compat.v1.Session()

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن