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

السؤال

نشر

أحاول تطبيق شرط if على البيان التالي لكنه لاينجح، وفي الواقع توقعت أنه لن ينجح لذا هل هناك طريقة لإضافة شرط if؟ هذا هو الكود الخاص بي:

data = tensorflow.placeholder(shape=[None, ins_size**2*3])
wights = tensorflow.Variable(tensorflow.zeros([ins_size**2*3,label_option]))
bias = tensorflow.Variable(tensorflow.zeros([label_option]))
if tensorflow.placeholder(shape=[1, 1]) > 0:
    pred = tensorflow.nn.softmax(tensorflow.matmul(data, wights) + bias)
else:
    pred = tensorflow.nn.softmax(tensorflow.matmul(data, wights) - bias) 

 

Recommended Posts

  • 1
نشر

الغراف يبقى عبارة عن كود ليس له أي مساحة في الذاكرة أو أي موارد أي مجرد تعليمات إلى أن يتم بناؤه من خلال ال Session. لذا توقعك في مكانه فلايمكننا استخدام if منطقياً هنا (وليس قواعدياً)، لأن الشرط سيتم تقييمه عند بناء الغراف بينما أنت تريد أن يعتمد الشرط على القيمة التي يتم تغذيتها للعنصر النائب placeholder  في زمن التشغيل runtime. لذا فاستخدامك ل if هنا سيؤدي دوماً لاختيار الفرع الأول ل if لأن الشرط الخاص بك سيتم تقييمه على tensor  أي 0<tensor  أي دوماً True.
لذا توفر لنا تنسرفلو الدالة tf.cond للقيام بهذا الأمر  بالشكل الصحيح كمايلي. حيث يقوم بتقييم أحد فرعين، اعتماداً على الحالة المنطقية. لتوضيح كيفية استخدامه، سأعيد كتابة الكود:

data = tensorflow.placeholder(shape=[None, ins_size**2*3])
wights = tensorflow.Variable(tensorflow.zeros([ins_size**2*3,label_option]))
bias = tensorflow.Variable(tensorflow.zeros([label_option]))
yourcond=tensorflow.placeholder(shape=[1, 1])
#lambda نمرر لها الشرط والفرعين من خلال 
pred = tensorflow.cond(yourcond > 0, lambda: tensorflow.matmul(data, wights) + bias,
					tensorflow.matmul(data, wights) - bias)

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...