اشتباه محاسباتی در Tensforflow - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

اشتباه محاسباتی در Tensforflow

0 امتیاز

سلام. به کد زیر نگاه کنید چرا تنسورفلو هر بار یه جوابی میده .


 x = tf.Variable(1)
  y = tf.constant(2)
  assign = tf.assign(x, 5)
  z = x + y

  sess = tf.Session()
  for i in range(10):
    sess.run(tf.global_variables_initializer())
    print(sess.run([assign, z]))
سوال شده آبان 5, 1396  بوسیله ی asgari (امتیاز 147)   3 8 14
ویرایش شده آبان 7, 1396 بوسیله ی asgari

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

چون دو دستور assign و محاسبه z به صورت موازی انجام میشن در هر بار اجرا مشخص نیست کدام زودتر اجرا میشه به همین خاطر نتایج اشتباه چاپ میشه برای رفع این مشکل چون محاسبه z وابسته به x هستش شما با استفاده از متد control_dependecy این تقدم را برای tensorflow مشخص کنید به صورت زیر:

 with tf.control_dependencies([x]) :
   z = x + y

 

پاسخ داده شده آبان 7, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد آبان 9, 1396 بوسیله ی asgari
...