عامر ابراهيم نشر 5 سبتمبر 2021 أرسل تقرير مشاركة نشر 5 سبتمبر 2021 أحاول تطبيق شرط 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) 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ali Haidar Ahmad نشر 5 سبتمبر 2021 أرسل تقرير مشاركة نشر 5 سبتمبر 2021 الغراف يبقى عبارة عن كود ليس له أي مساحة في الذاكرة أو أي موارد أي مجرد تعليمات إلى أن يتم بناؤه من خلال ال 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) 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
عامر ابراهيم
أحاول تطبيق شرط if على البيان التالي لكنه لاينجح، وفي الواقع توقعت أنه لن ينجح لذا هل هناك طريقة لإضافة شرط if؟ هذا هو الكود الخاص بي:
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.