TensorFlow هي أداة تصور تسمى TensorBoard. يتم استخدامه لتحليل الرسم البياني لتدفق البيانات ويستخدم لفهم نماذج التعلم الآلي. TensorBoard هي الواجهة المستخدمة لتصور الرسم البياني والعديد من الأدوات لفهم النموذج وتصحيح أخطائه وتحسينه.
الميزة المهمة في TensorBoard هي أنه يتضمن عرضًا لأنواع مختلفة من الإحصائيات حول المعلمات وتفاصيل أي رسم بياني في محاذاة رأسية.
خوارزمية جدولة جولة روبن
تتضمن الشبكة العصبية العميقة ما يصل إلى 36000 العقد. يساعد TensorFlow في طي هذه العقد بدرجة عالية في طي هذه العقد في كتل عالية المستوى وإبراز الهياكل المتطابقة. وهذا يسمح بتحليل أفضل للرسم البياني، مع التركيز على الأقسام الأساسية للرسم البياني الحسابي.
يقال إن تصور TensorBoard تفاعلي للغاية حيث يمكن للمستخدم تحريك العقد وتكبيرها وتوسيعها لعرض التفاصيل.
فيما يلي الرسم البياني الموضح الذي يوضح العمل الكامل لتصور TensorBoard-
تقوم الخوارزميات بتفكيك العقد إلى كتل عالية المستوى وتسليط الضوء على المجموعات المحددة ذات الهياكل المتطابقة، والتي تفصل بين العقد عالية المستوى. يعد TensorBoard الذي تم إنشاؤه مفيدًا ويتم التعامل معه بنفس القدر من الأهمية لضبط نموذج التعلم الآلي. تم تصميم أداة التصور هذه لملف سجل التكوين.
ننظر إلى الصورة أدناه:
تقرر الشبكة العصبية كيفية توصيل الأجهزة المختلفة الخلايا العصبية 'وكم عدد الطبقات قبل أن يتمكن النموذج من التنبؤ بالنتيجة. بمجرد تحديد البنية، لا نحتاج إلى تدريب النموذج فحسب، بل نحتاج أيضًا إلى المقاييس لحساب دقة التنبؤ. ويشار إلى هذا المقياس كدالة الخسارة. والهدف من ذلك هو بمثابة وظيفة الخسارة.
تعد TensorBoard أداة رائعة لتصور المقاييس وتسليط الضوء على المشكلات المحتملة. يمكن أن تستغرق الشبكة العصبية ساعات إلى أسابيع قبل أن تجد حلاً. يقوم TensorBoard بتحديث المعلمات كثيرًا.
يوجد TensorBoard في عنوان URL هذا: http://localhost:6006
أنواع لوحة المعلومات في TensorBoard
1. لوحة القيادة العددية
يتم استخدامه لتصور الإحصائيات المعتمدة على الوقت؛ على سبيل المثال، قد نرغب في النظر إلى الاختلافات في معدل التعلم أو دالة الخسارة.
2. الرسم البياني
تعرض لوحة معلومات المدرج التكراري في TensorBoard كيف يختلف التوزيع الإحصائي لل Tensor مع مرور الوقت. فإنه يتصور البيانات المسجلة عبر tf.summary.histogram .
جافا 8
3. لوحة تحكم التوزيع
يُظهر بعض الاستخدام عالي المستوى لـ tf.summary.histogram . يُظهر بعض البدايات عالية المستوى في التوزيع. يعطي كل سطر على الرسم البياني تلميحًا حول النسبة المئوية للتوزيع على البيانات.
4. لوحة معلومات الصور
يُظهر هذا ملف png الذي تم حفظه عبر ملف tf.summary.image . تتوافق الصفوف مع التسميات والأعمدة المراد تشغيلها. باستخدام لوحة معلومات الصور هذه في TensorBoard، يمكننا تضمين تصورات مخصصة.
5. لوحة القيادة الصوتية
إنها أداة ممتازة لتضمين أدوات صوتية قابلة للتشغيل للصوتيات المحفوظة عبر ملف tf.summary.audio . تقوم لوحة المعلومات دائمًا بتضمين أحدث الصوت لكل علامة.
6. مستكشف الرسم البياني
يتم استخدامه بشكل أساسي لتمكين فحص نموذج TensorFlow.
7. جهاز العرض
جهاز العرض المضمن في TensorFlow يستخدم للبيانات متعددة الأبعاد. يقرأ جهاز العرض المضمن البيانات من ملف نقطة التفتيش وقد يتم إعداده بالبيانات المقابلة، مثل ملف المفردات.
8. لوحة المعلومات النصية
تعرض لوحة التحكم النصية خبراء النص المحفوظة عبرها tf.summary.text. ، يتضمن ميزات مثل الارتباطات التشعبية والقوائم والجداول، وكلها مدعومة.
وجهات نظر مختلفة من TensorBoard
تأخذ طرق العرض المختلفة مدخلات بتنسيقات مختلفة وتعرضها بشكل مختلف. يمكننا تغييرها على الشريط العلوي البرتقالي.
كيفية استخدام TensorBoard؟
سوف نتعلم كيفية فتح TensorBoard من المحطة الطرفية لنظام التشغيل MacOS وWindows سطر الأوامر.
سيتم شرح الكود في برنامج تعليمي مستقبلي؛ التركيز هنا على TensorBoard.
أولاً، نحتاج إلى استيراد المكتبات التي سنستخدمها أثناء التدريب.
جافا شار إلى int
## Import the library import tensorflow as tf import numpy as np
نحن ننشئ البيانات. إنها مصفوفة مكونة من 10000 صف وعمود/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
يقوم الكود أدناه بتحويل البيانات وإنشاء النموذج.
لاحظ أن معدل التعلم يساوي 0.1. وإذا قمنا بتغيير هذا المعدل إلى قيمة أعلى، فلن يجد النموذج حلاً. وهذا ما حدث على الجانب الأيسر من الصورة أعلاه.
في المثال أدناه، نقوم بتخزين النموذج داخل دليل العمل، أي حيث نقوم بتخزين دفتر الملاحظات أو ملف بايثون. داخل المسار، يقوم TensorFlow بإنشاء مجلد يسمى Train باسم المجلد الفرعي linreg.
feature_columns = [ tf.feature_column.numeric_column('x', shape=X_train.shape[1:])] DNN_reg = tf.estimator.DNNRegressor(feature_columns=feature_columns, # Indicate where to store the log file model_dir='train', hidden_units=[500, 300], optimizer=tf.train.ProximalAdagradOptimizer( learning_rate=0.1, l1_regularization_strength=0.001 ) )
انتاج:
INFO:tensorflow:Using the default configuration. INFO:tensorflow:Using config:{'_model_dir': 'train/linreg', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_service': None, '_cluster_spec': , '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
الخطوة الأخيرة هي تدريب النموذج. خلال فترة التدريب، يكتب TensorFlow المعلومات في دليل النماذج.
# Train the estimator train_input = tf.estimator.inputs.numpy_input_fn( x={'x': X_train}, y=y_train, shuffle=False,num_epochs=None) DNN_reg.train(train_input,steps=3000)
انتاج:
INFO:tensorflow:Calling model_fn. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Create CheckpointSaverHook. INFO:tensorflow: Graph was finalized. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Saving checkpoints for 1 into train/linreg/model.ckpt. INFO:tensorflow:loss = 40.060104, step = 1 INFO:tensorflow:global_step/sec: 197.061 INFO:tensorflow:loss = 10.62989, step = 101 (0.508 sec) INFO:tensorflow:global_step/sec: 172.487 INFO:tensorflow:loss = 11.255318, step = 201 (0.584 sec) INFO:tensorflow:global_step/sec: 193.295 INFO:tensorflow:loss = 10.604872, step = 301 (0.513 sec) INFO:tensorflow:global_step/sec: 175.378 INFO:tensorflow:loss = 10.090343, step = 401 (0.572 sec) INFO:tensorflow:global_step/sec: 209.737 INFO:tensorflow:loss = 10.057928, step = 501 (0.476 sec) INFO:tensorflow:global_step/sec: 171.646 INFO:tensorflow:loss = 10.460144, step = 601 (0.583 sec) INFO:tensorflow:global_step/sec: 192.269 INFO:tensorflow:loss = 10.529617, step = 701 (0.519 sec) INFO:tensorflow:global_step/sec: 198.264 INFO:tensorflow:loss = 9.100082, step = 801 (0.504 sec) INFO:tensorflow:global_step/sec: 226.842 INFO:tensorflow:loss = 10.485607, step = 901 (0.441 sec) INFO:tensorflow:global_step/sec: 152.929 INFO:tensorflow:loss = 10.052481, step = 1001 (0.655 sec) INFO:tensorflow:global_step/sec: 166.745 INFO:tensorflow:loss = 11.320213, step = 1101 (0.600 sec) INFO:tensorflow:global_step/sec: 161.854 INFO:tensorflow:loss = 9.603306, step = 1201 (0.619 sec) INFO:tensorflow:global_step/sec: 179.074 INFO:tensorflow:loss = 11.110269, step = 1301 (0.556 sec) INFO:tensorflow:global_step/sec: 202.776 INFO:tensorflow:loss = 11.929443, step = 1401 (0.494 sec) INFO:tensorflow:global_step/sec: 144.161 INFO:tensorflow:loss = 11.951693, step = 1501 (0.694 sec) INFO:tensorflow:global_step/sec: 154.144 INFO:tensorflow:loss = 8.620987, step = 1601 (0.649 sec) INFO:tensorflow:global_step/sec: 151.094 INFO:tensorflow:loss = 10.666125, step = 1701 (0.663 sec) INFO:tensorflow:global_step/sec: 193.644 INFO:tensorflow:loss = 11.0349865, step = 1801 (0.516 sec) INFO:tensorflow:global_step/sec: 189.707 INFO:tensorflow:loss = 9.860596, step = 1901 (0.526 sec) INFO:tensorflow:global_step/sec: 176.423 INFO:tensorflow:loss = 10.695, step = 2001 (0.567 sec) INFO:tensorflow:global_step/sec: 213.066 INFO:tensorflow:loss = 10.426752, step = 2101 (0.471 sec) INFO:tensorflow:global_step/sec: 220.975 INFO:tensorflow:loss = 10.594796, step = 2201 (0.452 sec) INFO:tensorflow:global_step/sec: 219.289 INFO:tensorflow:loss = 10.4212265, step = 2301 (0.456 sec) INFO:tensorflow:global_step/sec: 215.123 INFO:tensorflow:loss = 9.668612, step = 2401 (0.465 sec) INFO:tensorflow:global_step/sec: 175.65 INFO:tensorflow:loss = 10.009649, step = 2501 (0.569 sec) INFO:tensorflow:global_step/sec: 206.962 INFO:tensorflow:loss = 10.477722, step = 2601 (0.483 sec) INFO:tensorflow:global_step/sec: 229.627 INFO:tensorflow:loss = 9.877638, step = 2701 (0.435 sec) INFO:tensorflow:global_step/sec: 195.792 INFO:tensorflow:loss = 10.274586, step = 2801 (0.512 sec) INFO:tensorflow:global_step/sec: 176.803 INFO:tensorflow:loss = 10.061047, step = 2901 (0.566 sec) INFO:tensorflow:Saving checkpoints for 3000 into train/linreg/model.ckpt. INFO:tensorflow: Loss for the final step: 10.73032.
لمستخدم ويندوز
cd C:UsersAdminAnaconda3 activate hello-tf
لتشغيل TensorBoard، يمكننا استخدام هذا الرمز
tensorboard --logdir=. rainlinreg