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

كيف يمكننا الحصول على أسماء المتغيرات وقيمها من ملف ال checkpoint في تنسرفلو Tensorflow

عامر ابراهيم

السؤال

Recommended Posts

  • 1

نعم يمكنك استخدام الأداة  inspect_checkpoint.py حيث أنها توفر لنا الدالة print_tensors_in_checkpoint_file التي يمكننا من خلالها الحصول على مانريده، ولها الشكل التالي:

print_tensors_in_checkpoint_file(file_name, tensor_name, all_tensors,all_tensor_names)

الوسيط الأول هو مسار ملف ال checkpoint. أما بالنسبة للوسيط الثاني فهو اسم التنسر وهنا لدينا حالتان:

حالة لم نمرر أي قيمة لل tensorname (أو مررنا " "): سيتم طباعة أسماء كل التنسر الموجودة مع أبعادها (ال shapes) في ملف ال ckp.

حالة تم تمرير اسم للتنسر: سيتم طباعة محتوى هذه التنسر.

الوسيط الثالث نضعه على True في حال أردنا طباعة كل التنسر (افتراضياً True). أما الوسيط الأخير نضعه على TRue في حال أردنا طباعة أسماء كل التنسر.
مثال:

from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file
import os
# تحميل مسار الملف
ckp_path = os.path.join(dir, "model_10000.ckpt")

# الحصول على أسماء كل التنسر الموجودة
print_tensors_in_checkpoint_file(file_name=ckp_path, tensor_name='',all_tensor_names=True)
# الخرج يكون بالشكل التالي:
# v0/RMSprop (DT_FLOAT) [4,4,1,45]
# الآن بفرض أريد الحصول على محتويات المتغير السابق
print_tensors_in_checkpoint_file(file_name=checkpoint_path, tensor_name='v0')
# tensor_name:  v0 [[[[  5.444958265e-02   2.00026209e-01   ....

أو من خلال الطريقة البديلة التالية:

from tensorflow.python import pywrap_tensorflow
import os
ckp = os.path.join(dir, "model_1000.ckpt")
r = pywrap_tensorflow.NewCheckpointReader(ckp)
x = r.get_variable_to_shape_map()
for tensor in x:
    print("Tensor name: ", tensor) # الأسماء
    print(r.get_tensor(tensor))  # القيم
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استخدام الدالة inspect_checkpoint.py والتي توفر لنا طريقة الحصول على القيم، استخدامها بسيط للغاية أنظر المثال التالي للتوضيح:

import tensorflow as tf
from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file


latest_ckp = tf.train.latest_checkpoint('./')
print_tensors_in_checkpoint_file(latest_ckp, all_tensors=True, tensor_name='')

ببساطة تضع الملف الذي تريد أن تخرج فيه القيم وكذلك تضع all_tensor=True وذلك ليخرج لنا قيمة كل المتغيرات مع أسمها.

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...