البرمجة

حساب القطر الرئيسي لمصفوفة هيسيان في TensorFlow

لحساب جميع المشتقات الثانية (فقط القطري لمصفوفة هيسيان) في TensorFlow، يمكنك استخدام الرمز التالي:

python
import tensorflow as tf import numpy as np # Define the variable and loss function f = tf.Variable(np.array([[1., 2., 0]]).T) loss = tf.reduce_prod(f ** 2 - 3 * f + 1) # Compute first derivatives first_derivatives = tf.gradients(loss, f)[0] # Compute second derivatives (Hessian matrix) hessian = tf.hessians(loss, f)[0] # Extract the diagonal of the Hessian matrix diagonal_hessian = tf.diag_part(hessian) # Initialize variables and run the session model = tf.global_variables_initializer() with tf.Session() as sess: sess.run(model) print("\nloss\n", sess.run(loss)) print("\nloss'\n", sess.run(first_derivatives)) print("\nHessian\n", sess.run(hessian)) print("\nDiagonal of Hessian\n", sess.run(diagonal_hessian))

هذا الكود يستخدم tf.hessians لحساب مصفوفة هيسيان، ثم tf.diag_part لاستخراج القطر الرئيسي للمصفوفة. تحتوي tf.hessians على داخليات تقوم بحساب مشتقات ثانية بصورة فعالة، مما يسهل عليك استخراج القطر الرئيسي للمصفوفة هيسيان بدون حساب زائد.

المزيد من المعلومات

لحساب جميع المشتقات الثانية (فقط القطري لمصفوفة هيسيان) في TensorFlow، يمكنك استخدام الرمز التالي:

python
import tensorflow as tf import numpy as np # Define the variable and loss function f = tf.Variable(np.array([[1., 2., 0]]).T) loss = tf.reduce_prod(f ** 2 - 3 * f + 1) # Compute first derivatives first_derivatives = tf.gradients(loss, f)[0] # Compute second derivatives (Hessian matrix) hessian = tf.hessians(loss, f)[0] # Extract the diagonal of the Hessian matrix diagonal_hessian = tf.diag_part(hessian) # Initialize variables and run the session model = tf.global_variables_initializer() with tf.Session() as sess: sess.run(model) print("\nloss\n", sess.run(loss)) print("\nloss'\n", sess.run(first_derivatives)) print("\nHessian\n", sess.run(hessian)) print("\nDiagonal of Hessian\n", sess.run(diagonal_hessian))

هذا الكود يستخدم tf.hessians لحساب مصفوفة هيسيان، ثم tf.diag_part لاستخراج القطر الرئيسي للمصفوفة. تحتوي tf.hessians على داخليات تقوم بحساب مشتقات ثانية بصورة فعالة، مما يسهل عليك استخراج القطر الرئيسي للمصفوفة هيسيان بدون حساب زائد.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر