عامر ابراهيم نشر 18 سبتمبر 2021 أرسل تقرير نشر 18 سبتمبر 2021 كيف يمكننا متابعة قراءات الدقة وال loss أثناء عملية التدريب من خلال الأداة Tensorboard؟ حيث أنني قمت ببناء النموذج التالي لتصنيف الصور (الأرقام المكتوبة بخط اليد) وأريد مراقبة الدقة من خلالها: import tensorflow as tf import datetime mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 def create_model(): return tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(512, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model = create_model() model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x=x_train, y=y_train, epochs=2, validation_data=(x_test, y_test)) اقتباس
1 Ali Haidar Ahmad نشر 18 سبتمبر 2021 أرسل تقرير نشر 18 سبتمبر 2021 tensorboard_callback هي أداة تسمح لك بمراقبة أداء النموذج من خلال رسم بياني يوضح حالة التدريب. ويمكنك استخدامها مع نموذجك أو أي نموذج آخر بنفس الطريقة كالتالي: %load_ext tensorboard # tensorboard نقوم بتحميل الإضافة # الآن سنعرف نموذج import tensorflow as tf import datetime mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 def create_model(): return tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(512, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model = create_model() # ترجمة النموذج model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # مسار المجلد الذي سيتم فيه حفظ المعلومات التي سيقوم التنسربورد بتحليلها وعرضها log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S") # تعريف الكولباكس tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir) # نقوم بتمرير الكولباكس إلى دالة التدريب model.fit(x=x_train, y=y_train, epochs=2, validation_data=(x_test, y_test), callbacks=[tensorboard_callback]) الآن لعرض الرسم البياني نقوم بتنفيذ الأمر التالي ضمن ال nootebook: # لعرض الغراف %tensorboard --logdir logs/fit # حيث نضع مسار المجلد السابق أو من خلال ال commandline استخدم نفس الأمر السابق لكن من دون استخدام المعامل % أي: tensorboard --logdir logs/fit وبهذه الطريقة يمكنك عرض معلومات الدقة والتكلفة loss ضمن نموذجك خلال عملية تدريب نموذجك. 1 اقتباس
1 Ahmed Sharshar نشر 19 سبتمبر 2021 أرسل تقرير نشر 19 سبتمبر 2021 (معدل) يمكنك ببساطة بناء نموذج بحيث يتم تدريبه مع حفظ بيانات التدريب في ملف لنستخدمه بعد ذلك في رسم الشكل البياني للتدريب كالتالي: #استدعاء البينات وتقسيمها import tensorflow_datasets as tfds tfds.disable_progress_bar() (ds_train, ds_test), ds_info = tfds.load( 'mnist', split=['train', 'test'], shuffle_files=True, as_supervised=True, with_info=True, ) #بناء النموذج def normalize_img(image, label): """Normalizes images: `uint8` -> `float32`.""" return tf.cast(image, tf.float32) / 255., label ds_train = ds_train.map(normalize_img) ds_train = ds_train.batch(128) ds_test = ds_test.map(normalize_img) ds_test = ds_test.batch(128) model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28, 1)), tf.keras.layers.Dense(128,activation='relu'), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile( loss='sparse_categorical_crossentropy', optimizer=tf.keras.optimizers.Adam(0.001), metrics=['accuracy'] ) # حفظ بيانات التدريب وبدء التدريب logs = "logs/" + datetime.now().strftime("%Y%m%d-%H%M%S") tboard_callback = tf.keras.callbacks.TensorBoard(log_dir = logs, histogram_freq = 1, profile_batch = '500,520') model.fit(ds_train, epochs=2, validation_data=ds_test, callbacks = [tboard_callback]) بعد ذلك يقوم ببداء عملية التدريب، عقب النتهاء منها يمكننا استدعاء TensorBoard notebook extension كالتالي: %load_ext tensorboard ثم بدء عرض احصائيات التدريب هكذا: %tensorboard --logdir=logs ستظهر لك الإحصائيات على الشاشة هكذا: تم التعديل في 19 سبتمبر 2021 بواسطة Ahmed Sharshar 1 اقتباس
السؤال
عامر ابراهيم
كيف يمكننا متابعة قراءات الدقة وال loss أثناء عملية التدريب من خلال الأداة Tensorboard؟ حيث أنني قمت ببناء النموذج التالي لتصنيف الصور (الأرقام المكتوبة بخط اليد) وأريد مراقبة الدقة من خلالها:
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.