logo

TensorBoard

TensorFlow הוא כלי הדמיה, הנקרא TensorBoard. הוא משמש לניתוח גרף זרימת הנתונים ומשמש להבנת מודלים של למידת מכונה. TensorBoard הוא הממשק המשמש להמחשת הגרף וכלים רבים להבנה, ניפוי באגים ואופטימיזציה של המודל.

התכונה החשובה של TensorBoard היא שהוא כולל תצוגה של סוגים שונים של סטטיסטיקה לגבי הפרמטרים והפרטים של כל גרף ביישור אנכי.

"מה ההבדל בין אריה לנמר"

הרשת העצבית העמוקה כוללת עד 36,000 צמתים. TensorFlow מסייע בקריסת צמתים אלו בגובה רב בקריסת צמתים אלו בלוקים ברמה גבוהה ובהדגשת המבנים הזהים. זה מאפשר ניתוח טוב יותר של הגרף, תוך התמקדות בחלקים העיקריים של גרף החישוב.

TensorBoard

אומרים שהדמיית TensorBoard היא מאוד אינטראקטיבית שבה משתמש יכול להזיז, להגדיל ולהרחיב את הצמתים כדי להציג את הפרטים.

להלן ייצוג הדיאגרמה הנתון מציג את העבודה המלאה של הדמיית TensorBoard-

TensorBoard

האלגוריתמים ממוטים את הצמתים לבלוקים ברמה גבוהה והדגישו את הקבוצות הספציפיות בעלות מבנים זהים, המפרידים בין הצמתים בדרגה גבוהה. ה-TensorBoard שנוצר הוא שימושי ומטופל באותה מידה עבור כוונון מודל למידת מכונה. כלי הדמיה זה מיועד לקובץ יומן התצורה.

הבט בתמונה שלמטה:

TensorBoard

רשת עצבית מחליטה כיצד לחבר את השונות נוירונים וכמה שכבות לפני המודל יכול לחזות את התוצאה. לאחר שהגדרנו את הארכיטקטורה, אנחנו צריכים לא רק לאמן את המודל אלא גם מדדים כדי לחשב את הדיוק של החיזוי. מדד זה מכונה פונקציית הפסד. המטרה היא כפונקציית הפסד.

TensorBoard הוא כלי נהדר להמחיש מדדים ולהדגיש את הבעיות הפוטנציאליות. הרשת העצבית יכולה לקחת שעות עד שבועות עד שהם מוצאים פתרון. TensorBoard מעדכן את הפרמטרים לעתים קרובות מאוד.

TensorBoard נמצא בכתובת האתר הזו: http://localhost:6006

סוגי DashBoard ב-TensorBoard

TensorBoard

1. לוח מחוונים סקלרי

הוא משמש כדי להמחיש נתונים סטטיסטיים תלויי זמן; לדוגמה, אולי נרצה להסתכל על השונות בשיעור הלמידה או בפונקציית ההפסד.

2. היסטוגרמה

לוח המחוונים של היסטוגרמה ב-TensorBoard מציג כיצד השתנתה ההתפלגות הסטטיסטית של Tensor לאורך זמן. זה מדמיין נתונים שהוקלטו באמצעות tf.summary.histogram .

הגדר java

3. לוח המחוונים להפצה

זה מראה שימוש ברמה גבוהה של tf.summary.histogram . זה מראה כמה התחלות ברמה גבוהה בהפצה. כל שורה בתרשים נותנת רמז לגבי האחוזון בהתפלגות על פני הנתונים.

4. לוח מחוונים לתמונה

זה מציג את ה-png שנשמר באמצעות a tf.summary.image . שורות מתאימות לתוויות והעמודות להרצה. על ידי שימוש בלוח המחוונים של התמונה של TensorBoard, נוכל להטמיע הדמיות מותאמות אישית.

5. לוח מחוונים לאודיו

זהו כלי מצוין להטמעת ווידג'טים של אודיו שניתנים להפעלה עבור שמע שנשמר באמצעות a tf.summary.audio . לוח המחוונים מטמיע תמיד את האודיו העדכני ביותר עבור כל תג.

6. סייר גרפים

הוא משמש בעיקר לאפשר בדיקה של מודל TensorFlow.

7. מקרן

מקרן הטבעה ב- TensorFlow המשמש לנתונים רב מימדיים. המקרן המוטבע קורא נתונים מקובץ המחסום ועשוי להיות מוגדר עם נתונים מתאימים, כגון קובץ אוצר מילים.

8. לוח מחוונים לטקסט

לוח המחוונים לטקסט מציג מומחי טקסט שנשמרו באמצעות tf.summary.text. , כולל תכונות כמו היפר-קישורים, רשימות וטבלאות, כולן נתמכות.

TensorBoard

תצוגות שונות של TensorBoard

תצוגות שונות לוקחות תשומות של פורמטים שונים ומציגות אותן בצורה שונה. אנחנו יכולים לשנות אותם בסרגל העליון הכתום.

    סקלרים-דמיין ערכים סקלרים, כגון דיוק הסיווג.גרָף-דמיינו את הגרף החישובי של המודל שלנו, כמו מודל הרשת העצבית.הפצות-דמיין כיצד הנתונים משתנים לאורך זמן, כגון המשקלים של רשת עצבית.היסטוגרמות-תצוגה מהודרת יותר של ההתפלגות המראה התפלגות המציגה התפלגות בפרספקטיבה תלת מימדית.מַקרֵן-ניתן להשתמש בו כדי לדמיין הטבעת מילים (כלומר, הטבעת מילים הן ייצוגים מספריים של מילים הלוכדות את הקשרים הסמנטיים שלהן)תמונה-הדמיית נתוני תמונהשֶׁמַע-הדמיית נתוני אודיוטֶקסט-הדמיית נתוני טקסט

כיצד להשתמש ב- TensorBoard?

נלמד כיצד לפתוח את TensorBoard מהמסוף עבור MacOS ו-Windows שורת הפקודה.

הקוד יוסבר במדריך עתידי; הפוקוס כאן הוא על TensorBoard.

ראשית, עלינו לייבא את הספריות שבהן נשתמש במהלך ההדרכה.

 ## 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 

הקוד שלהלן ממיר את הנתונים ויוצר את המודל.

csma ו-csma cd

שימו לב שקצב הלמידה שווה ל-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. 

עבור משתמש Windows

 cd C:UsersAdminAnaconda3 activate hello-tf 

כדי להפעיל את TensorBoard, נוכל להשתמש בקוד זה

 tensorboard --logdir=.	rainlinreg