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

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

0 امتیاز
22 بازدید

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


 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  بوسیله ی asgari (امتیاز 91)   2

1 پاسخ

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

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

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

 

پاسخ داده شده آبان 7 بوسیله ی مصطفی ساتکی (امتیاز 16,732)   17 25 66
...