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

إسناد قيمة جديدة لمتغير في تنسرفلو Tensorflow

عامر ابراهيم

السؤال

أحاول تعيين قيمة جديدة لمتغير tensorflow لكن القيمة الأصلية لاتتغير ما الحل؟

import tensorflow 
a = tensorflow.Variable(0)
initialize = tensorflow.initialize_all_variables()
s = tensorflow.InteractiveSession()
s.run(initialize)
a.eval()
# 0
a.assign(7)
a.eval()
# 0
# الخرج لايتغير

 

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

Recommended Posts

  • 1

في تنسرفلو 1، التعليمة x.assign(1) لاتقوم بتعيين القيمة 1 ل x ولكنه يقوم  بإنشاء tf.Operation (عملية) وبالتالي عليك القيام بتنفيذها بشكل صريح (أي sess.run(x.assign(1))) . * ويمكنك استخدام استدعاء Operation.run أو Session.run لتنفيذ هذه العملية :

my_opration = a.assign(7)
s.run(my_opration)
a.eval() # 
###################### أو  ################
my_opration = a.assign(7)
my_opration.op.run()`
a.eval() # 7

أما في الإصدارات الأحدث من تنسرفلو أصبح بإمكانك استخدام x.assign مباشرةً لتحديث القيمة:

a.assign(5)
a.eval() #  5

كما يمكنك استخدام tf.Variable.load(value, session) لإسناد قيمة جديدة لكن فقط في TF1، فقد تم إلغاؤها في TF2:

import tensorflow as tf
a = tf.Variable(0)
s = tf.Session()
s.run(tf.global_variables_initializer())
print(s.run(a))
# 0
a.load(7, s)
print(sess.run(a))  
# 7
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...