Εκμάθηση TensorBoard: Οπτικοποίηση Γραφήματος TensorFlow

⚡ Έξυπνη Σύνοψη

Το TensorBoard είναι το οπτικό front end για τις εκτελούμενες εκπαιδεύσεις του TensorFlow, σχεδιάζοντας καμπύλες απωλειών, γραφήματα μοντέλων, ιστογράμματα βαρών και ενσωματώσεις. Αυτή η αναλυτική παρουσίαση γράφει αρχεία συμβάντων με έναν εκτιμητή και, στη συνέχεια, ανοίγει τον πίνακα ελέγχου στη θύρα 6006.

  • 🔘 Πέντε πίνακες ελέγχου: Τα βαθμωτά, τα γραφήματα, οι κατανομές, τα ιστογράμματα και ο προβολέας διαβάζουν το καθένα έναν διαφορετικό τύπο σύνοψης.
  • ☑️ Κατάλογος καταγραφής: Το όρισμα model_dir αποφασίζει πού γράφει το TensorFlow τα αρχεία events.out.tfevents.
  • Εντολή εκκίνησης: Εκτελέστε την εντολή tensorboard –logdir=PATH και, στη συνέχεια, ανοίξτε την εντολή http://localhost:6006 σε οποιοδήποτε πρόγραμμα περιήγησης.
  • 🧪 Ρυθμός εκμάθησης: Μια οδοντωτή καμπύλη απωλειών σηματοδοτεί έναν ρυθμό που είναι πολύ υψηλός για να συγκλίνει το μοντέλο.
  • TensorFlow 2: Η ανάκληση του Keras TensorBoard αντικαθιστά την καταγραφή εκτιμητή που φαίνεται στο αρχικό παράδειγμα.
  • ⚠️ Αντιμετώπιση προβλημάτων: Ένας κενός πίνακας ελέγχου σχεδόν πάντα σημαίνει ότι η διαδρομή του καταλόγου καταγραφής δεν ταιριάζει με την εκτέλεση εκπαίδευσης.

Εκμάθηση TensorBoard: Οπτικοποίηση Γραφήματος TensorFlow

Τι είναι το TensorBoard;

Το TensorBoard είναι η διεπαφή που χρησιμοποιείται για την οπτικοποίηση του γραφήματος και άλλων εργαλείων για την κατανόηση, τον εντοπισμό σφαλμάτων και τη βελτιστοποίηση του μοντέλου. Είναι ένα εργαλείο που παρέχει μετρήσεις και οπτικοποιήσεις για μια ροή εργασίας μηχανικής μάθησης. Βοηθά track μετρήσεις όπως η απώλεια και η ακρίβεια, οπτικοποιούν το γράφημα του μοντέλου και προβάλλουν ενσωματώσεις σε χώρους χαμηλότερων διαστάσεων.

Το TensorBoard διατίθεται με TensorFlow και εκτελείται ως ένας μικρός τοπικός διακομιστής ιστού που διαβάζει τα αρχεία συμβάντων που μια εκπαιδευτική εργασία γράφει στο δίσκο.

Οπτικοποίηση Γραφήματος TensorFlow χρησιμοποιώντας Παράδειγμα TensorBoard

Η παρακάτω εικόνα προέρχεται από το γράφημα TensorBoard που θα δημιουργήσετε σε αυτό το σεμινάριο. Είναι ο κύριος πίνακας:

Πίνακας ελέγχου TensorBoard Scalars που δείχνει την καμπύλη average_loss του εκπαιδευμένου παλινδρομητή DNN

Από την παρακάτω εικόνα, μπορείτε να δείτε το πλαίσιο της οπτικοποίησης γραφήματος TensorBoard. Ο πίνακας περιέχει διαφορετικές καρτέλες, οι οποίες συνδέονται με το επίπεδο πληροφοριών που προσθέτετε όταν εκτελείτε το μοντέλο.

Γραμμή πλοήγησης TensorBoard με τις καρτέλες Scalars, Graphs, Distributions, Histograms και Projector

  • Βαθμωτά: Εμφάνιση διαφορετικών χρήσιμων πληροφοριών κατά τη διάρκεια της εκπαίδευσης μοντέλου
  • Γραφικές παραστάσεις: Δείξτε το μοντέλο
  • Ιστόγραμμα: Εμφάνιση βαρών με ιστόγραμμα
  • Διανομή: Εμφάνιση της κατανομής του βάρους
  • Προβολέας: Εμφάνιση της ανάλυσης κύριων συνιστωσών και του αλγορίθμου T-SNE. Η τεχνική που χρησιμοποιείται για τη μείωση της διαστασιολόγησης.

Κατά τη διάρκεια αυτού του σεμιναρίου TensorBoard, θα εκπαιδεύσετε ένα απλό βαθιά μάθηση μοντέλο και το γράφημα που παράγει διαβάζεται από κάτω προς τα πάνω.

Αν κοιτάξετε το γράφημα, μπορείτε να καταλάβετε πώς λειτουργεί το μοντέλο. Τα αριθμημένα σήματα στο παρακάτω στιγμιότυπο οθόνης σηματοδοτούν αυτά τα τέσσερα στάδια:

  1. Τοποθετήστε τα δεδομένα στο μοντέλο: Ωθήστε στο μοντέλο ποσότητα δεδομένων ίση με το μέγεθος παρτίδας, π.χ. Αριθμός τροφοδοσίας δεδομένων μετά από κάθε επανάληψη
  2. Τροφοδοτήστε τα δεδομένα στους τανυστές
  3. Εκπαιδεύστε το μοντέλο
  4. Εμφανίστε τον αριθμό των παρτίδων κατά τη διάρκεια της εκπαίδευσης. Αποθηκεύστε το μοντέλο στο δίσκο.

Γράφημα TensorFlow στο TensorBoard με αριθμημένους κόμβους για την ουρά εισόδου, το μπλοκ dnn και τη λειτουργία αποθήκευσης

Η βασική ιδέα πίσω από το TensorBoard είναι ότι ένα νευρωνικό δίκτυο μπορεί να συμπεριφέρεται σαν ένα μαύρο κουτί και χρειάζεστε ένα εργαλείο για να ελέγξετε τι υπάρχει μέσα σε αυτό το κουτί. Σκεφτείτε το TensorBoard ως έναν φακό για να εξερευνήσετε το δίκτυο.

Βοηθά στην κατανόηση των εξαρτήσεων μεταξύ των λειτουργιών, του τρόπου υπολογισμού των βαρών, εμφανίζει τη συνάρτηση απώλειας και πολλές άλλες χρήσιμες πληροφορίες. Όταν συγκεντρώνετε όλες αυτές τις πληροφορίες μαζί, έχετε ένα εξαιρετικό εργαλείο για να εντοπίσετε σφάλματα και να βρείτε πώς να βελτιώσετε το μοντέλο.

Για να σας δώσουμε μια ιδέα για το πόσο χρήσιμο μπορεί να είναι το γράφημα TensorBoard, δείτε τις δύο καμπύλες απωλειών παρακάτω:

Δύο καμπύλες απωλειών TensorBoard δίπλα-δίπλα που συγκρίνουν ένα μοντέλο που δεν μαθαίνει με ένα μοντέλο που συγκλίνει

Ένα νευρωνικό δίκτυο αποφασίζει πώς να συνδέσει τους διαφορετικούς νευρώνες και πόσα επίπεδα χρειάζονται πριν το μοντέλο μπορέσει να προβλέψει ένα αποτέλεσμα. Μόλις οριστεί η αρχιτεκτονική, δεν χρειάζεται μόνο να εκπαιδεύσετε το μοντέλο αλλά και μια μέτρηση που μετρά την ακρίβεια της πρόβλεψης. Αυτή η μέτρηση ονομάζεται συνάρτηση απώλειας και ο στόχος είναι η ελαχιστοποίησή της, που σημαίνει απλώς ότι το μοντέλο κάνει λιγότερα σφάλματα.

Κάθε αλγόριθμος εκπαίδευσης επαναλαμβάνει τον υπολογισμό πολλές φορές μέχρι η απώλεια να φτάσει σε μια πιο επίπεδη γραμμή. Η ελαχιστοποίηση της απώλειας απαιτεί επίσης έναν ρυθμό εκμάθησης, ο οποίος είναι η ταχύτητα με την οποία μαθαίνει το μοντέλο. Αν ορίσετε τον ρυθμό εκμάθησης πολύ υψηλό, το μοντέλο δεν θα έχει ποτέ χρόνο να μάθει τίποτα: αυτό είναι το αριστερό διάγραμμα, όπου η γραμμή κινείται πάνω-κάτω επειδή το μοντέλο ουσιαστικά μαντεύει. Το διάγραμμα στα δεξιά δείχνει την απώλεια να μειώνεται κατά τη διάρκεια των επαναλήψεων μέχρι η καμπύλη να ισοπεδωθεί, πράγμα που σημαίνει ότι το μοντέλο έχει βρει μια λύση.

Το TensorBoard είναι ένα εξαιρετικό εργαλείο για την οπτικοποίηση τέτοιων μετρήσεων και την επισήμανση πιθανών προβλημάτων. Ένα νευρωνικό δίκτυο μπορεί να χρειαστεί ώρες ή εβδομάδες μέχρι να βρει μια λύση και το TensorBoard ανανεώνει τις μετρήσεις ενώ η εργασία εξακολουθεί να εκτελείται. Επομένως, δεν χρειάζεται να περιμένετε μέχρι το τέλος για να δείτε αν το μοντέλο εκπαιδεύεται σωστά: ανοίξτε το TensorBoard, ελέγξτε πώς πηγαίνει η εκπαίδευση και κάντε την κατάλληλη αλλαγή, εάν είναι απαραίτητο.

Πώς να χρησιμοποιήσετε το TensorBoard;

Σε αυτήν την ενότητα, θα μάθετε πώς να ανοίγετε το TensorBoard από το τερματικό στο macOS και από τη γραμμή εντολών WindowsΗ έμφαση εδώ δίνεται στο εργαλείο και όχι στο μοντέλο, επομένως ο κώδικας εκπαίδευσης είναι σκόπιμα σύντομος.

Αρχικά, πρέπει να εισαγάγετε τις βιβλιοθήκες που θα χρησιμοποιήσετε κατά τη διάρκεια της εκπαίδευσης.

## Import the library
import tensorflow as tf
import numpy as np

Δημιουργείτε τα δεδομένα. Είναι ένας πίνακας 10000 γραμμών και 5 στηλών.

X_train = (np.random.sample((10000,5)))
y_train =  (np.random.sample((10000,1)))
X_train.shape

Παραγωγή

(10000, 5)

Ο παρακάτω κώδικας μετασχηματίζει τα δεδομένα και δημιουργεί το μοντέλο.

Σημειώστε ότι ο ρυθμός εκμάθησης είναι ίσος με 0.1. Εάν αλλάξετε αυτόν τον ρυθμό σε υψηλότερη τιμή, το μοντέλο δεν θα βρει λύση. Αυτό συνέβη στην αριστερή πλευρά της παραπάνω εικόνας.

Το παράδειγμα χρησιμοποιεί έναν εκτιμητή TensorFlow, το API υψηλού επιπέδου που αναδιπλώνει τους μαθηματικούς υπολογισμούς. Οι εκτιμητές ανήκουν στο API TensorFlow 1.x, επομένως τα δύο παρακάτω τμήματα εκτελούνται υπό εγκατάσταση 1.x ή μέσω του tf.compat.v1 χώρος ονομάτων

Για να δημιουργήσετε τα αρχεία καταγραφής, πρέπει να καθορίσετε τη διαδρομή. Αυτό γίνεται με το όρισμα model_dir.

Στο παράδειγμα TensorBoard παρακάτω, αποθηκεύετε το μοντέλο μέσα στον κατάλογο εργασίας, δηλαδή, εκεί που αποθηκεύετε το σημειωματάριο ή Python αρχείο. Μέσα σε αυτήν τη διαδρομή, το 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/linreg',    
     hidden_units=[500, 300],    
     optimizer=tf.train.ProximalAdagradOptimizer(      
          learning_rate=0.1,      
          l1_regularization_strength=0.001    
      )
)

Παραγωγή

INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {&#x27;_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': <tensorflow.python.training.server_lib.ClusterSpec object at 0x1818e63828>, '_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 συνίσταται στην εκπαίδευση του μοντέλου. Κατά τη διάρκεια της εκπαίδευσης, το 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 final step: 10.73032.

<tensorflow.python.estimator.canned.dnn.DNNRegressor at 0x1818e63630>

Στο TensorFlow 2 η ίδια δουλειά γίνεται από την επανακλήση Keras TensorBoard, η οποία γράφει το γράφημα και τις μετρήσεις ανά εποχή χωρίς κανέναν κώδικα εκτιμητή:

logdir = "logs/fit/" + datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = keras.callbacks.TensorBoard(log_dir=logdir)

model.fit(train_images, train_labels, epochs=5,
          callbacks=[tensorboard_callback])

Μόλις ολοκληρωθεί η εκτέλεση, ο κατάλογος καταγραφής περιέχει ένα αρχείο ελέγχου, ένα graph.pbtxt αρχείο και ένα ή περισσότερα events.out.tfevents αρχεία — ακριβώς αυτό που διαβάζει το TensorBoard.

Για macOS Χρήστες

Η παρακάτω προβολή Finder εμφανίζει τον νέο φάκελο train/linreg που δημιουργήθηκε μέσα στον κατάλογο εργασίας.

macOS λίστα αρχείων που εμφανίζει τους φακέλους καταγραφής τρένων και linreg με αρχεία σημείου ελέγχου, συμβάντων και graph.pbtxt

Για Windows Χρήστες

On Windows Τα ίδια αρχεία εμφανίζονται κάτω από τη διαδρομή που δώσατε στο model_dir, όπως επισημαίνεται στη γραμμή διευθύνσεων.

Windows Προβολή εξερευνητή του φακέλου train linreg που περιέχει αρχεία συμβάντων και σημείων ελέγχου TensorFlow

Η ίδια μορφή αρχείου συμβάντος παράγεται από PyTorch, επομένως ο πίνακας ελέγχου δεν περιορίζεται σε εκτελέσεις TensorFlow.

Τώρα που έχετε γράψει τα συμβάντα καταγραφής, μπορείτε να ανοίξετε το TensorBoard. Το TensorBoard εξυπηρετεί στη θύρα 6006 από προεπιλογή (Jupyter χρησιμοποιεί τη θύρα 8888). Χρησιμοποιήστε το τερματικό στο macOS ή η προτροπή Anaconda στο Windows.

Για macOS Χρήστες

# Different for you
cd /Users/Guru99/tuto_TF
source activate hello-tf!

Το σημειωματάριο αποθηκεύεται στη διαδρομή /Users/Guru99/tuto_TF

Για Windows Χρήστες

cd C:\Users\Admin\Anaconda3
activate hello-tf

Το σημειωματάριο αποθηκεύεται στη διαδρομή C:\Users\Admin\Anaconda3

Για να ξεκινήσετε το TensorBoard, εκτελέστε την ακόλουθη εντολή από αυτόν τον κατάλογο.

Για macOS Χρήστες

tensorboard --logdir=./train/linreg

Για Windows Χρήστες

tensorboard --logdir=.\train\linreg

Το TensorBoard στη συνέχεια παρέχεται στη διεύθυνση http://localhost:6006

Σημαία Τι ελέγχει
--logdir Κατάλογος που περιέχει τα αρχεία συμβάντων. Αυτή είναι η μόνη απαιτούμενη σημαία.
--port Θύρα για προβολή. Η προεπιλογή είναι 6006. Αλλάξτε την όταν μια προηγούμενη συνεδρία εξακολουθεί να διατηρεί αυτήν τη θύρα.
--bind_all Εξυπηρετεί σε κάθε διεπαφή δικτύου. Το TensorBoard συνδέεται μόνο με το localhost από προεπιλογή, επομένως η απομακρυσμένη πρόσβαση χρειάζεται αυτήν τη σημαία και δεν μπορεί να συνδυαστεί με --host.
--reload_interval Πόσο συχνά, σε δευτερόλεπτα, σαρώνεται ξανά ο κατάλογος καταγραφής για νέα δεδομένα.
--logdir_spec Παλαιό εφεδρικό πρόγραμμα που δέχεται αρκετές διαδρομές διαχωρισμένες με κόμμα. --logdir δεν υποστηρίζει πλέον αυτήν τη μορφή.

The tensorboard dev Η δευτερεύουσα εντολή δεν λειτουργεί πλέον: η φιλοξενούμενη υπηρεσία TensorBoard.dev τερματίστηκε την 1η Ιανουαρίου 2024. Η τοπική χρήση δεν επηρεάζεται.

Σε ορισμένα μηχανήματα, η κονσόλα εκτυπώνει το όνομα του κεντρικού υπολογιστή αντί για το localhost, όπως στην παρακάτω προτροπή του Anaconda. Και οι δύο διευθύνσεις ανοίγουν τον ίδιο πίνακα ελέγχου.

Η εντολή Anaconda εκτελεί την εντολή tensorboard και εκτυπώνει τη διεύθυνση του διακομιστή στη θύρα 6006.

Αντιγράψτε και επικολλήστε τη διεύθυνση στο αγαπημένο σας πρόγραμμα περιήγησης. Θα πρέπει να δείτε τον πίνακα ελέγχου Scalars που φαίνεται παρακάτω.

Ο πίνακας ελέγχου των βαθμωτών TensorBoard ανοίγει σε ένα πρόγραμμα περιήγησης μετά τη σωστή φόρτωση του καταλόγου καταγραφής

Αν δείτε κάτι σαν αυτό:

Σφάλμα TensorBoard κατά την ανάγνωση σελίδας Δεν βρέθηκαν αρχεία ορισμού γραφήματος

Αυτό σημαίνει ότι το TensorBoard δεν μπορεί να βρει το αρχείο καταγραφής. Βεβαιωθείτε ότι έχετε υποδείξει cd στη σωστή διαδρομή ή ελέγξτε ξανά ότι το συμβάν καταγραφής δημιουργήθηκε όντως. Εάν δεν δημιουργήθηκε, εκτελέστε ξανά τον κώδικα εκπαίδευσης.

Αν θέλετε να κλείσετε το TensorBoard, πατήστε CTRL+C στο παράθυρο του τερματικού.

Συμβουλή: ελέγξτε την προτροπή του Anaconda για τον τρέχοντα κατάλογο εργασίας.

Η προτροπή του Anaconda εμφανίζει το ενεργό περιβάλλον hello-tf και τον τρέχοντα κατάλογο εργασίας

Στο παραπάνω στιγμιότυπο οθόνης, η προτροπή βρίσκεται στο C:\Users\Admin, επομένως το αρχείο καταγραφής θα πρέπει να δημιουργηθεί σε αυτόν τον φάκελο.

Συχνές Ερωτήσεις

Μια ολοκληρωμένη εκτέλεση αφήνει ένα ευρετήριο σημείου ελέγχου, ένα ή περισσότερα αρχεία model.ckpt, ένα αρχείο graph.pbtxt και τουλάχιστον ένα αρχείο events.out.tfevents. Το TensorBoard διαβάζει μόνο τα αρχεία συμβάντων. Τα σημεία ελέγχου υπάρχουν, ώστε η εκπαίδευση να μπορεί να συνεχιστεί από το σημείο που σταμάτησε.

Ναί. PyTorch στέλνει μια ΣύνοψηWriter που εκπέμπει την ίδια μορφή αρχείου συμβάντος, επομένως η ίδια εντολή tensorboard –logdir αποδίδει τον πίνακα ελέγχου. Δεν αλλάζει τίποτα στον διακομιστή — μόνο η βιβλιοθήκη που παράγει τις περιλήψεις.

Όχι. Η φιλοξενούμενη υπηρεσία έκλεισε την 1η Ιανουαρίου 2024 και η υποεντολή tensorboard dev επιστρέφει πλέον ένα σφάλμα. Κοινοποιήστε τα αποτελέσματα εκτελώντας το TensorBoard μέσα σε ένα σημειωματάριο, όπως π.χ. Google Colab ή εξάγοντας τα γραφήματα ως CSV ή JSON.

Δώστε σε κάθε εκτέλεση τον δικό της υποφάκελο κάτω από έναν κοινόχρηστο γονικό φάκελο και, στη συνέχεια, τοποθετήστε το δείκτη του ποντικιού στην γονική διαδρομή με την εντολή –logdir. Κάθε υποφάκελος εμφανίζεται ως ξεχωριστή εκτέλεση στο αριστερό πλαίσιο και οι καμπύλες σχεδιάζονται στους ίδιους άξονες με ένα πλαίσιο ελέγχου η καθεμία.

Το γράφημα σε επίπεδο op είναι η προεπιλεγμένη προβολή και δείχνει πώς το TensorFlow κατανοεί το πρόγραμμα, σχεδιασμένο από κάτω προς τα πάνω. Η επιλογή της ετικέτας keras μεταβαίνει στο εννοιολογικό γράφημα, το οποίο δείχνει τα επίπεδα του μοντέλου μεμονωμένα και είναι πιο εύκολο να ελεγχθεί σε σχέση με το σχέδιό σας.

Οι αυτοματοποιημένες σαρώσεις παράγουν δεκάδες εκτελέσεις ταυτόχρονα, επομένως ο πίνακας ελέγχου γίνεται εργαλείο σύγκρισης και όχι μια οθόνη μίας εκτέλεσης. Το πρόσθετο HParams καταγράφει κάθε διαμόρφωση μαζί με τις μετρήσεις της, επιτρέποντάς σας να ταξινομείτε τις δοκιμές αντί να διαβάζετε τις καμπύλες μία προς μία.

GitHub Copilot συντάσσει γρήγορα το στερεότυπο επανάκλησης και σύνταξης σύνοψης. Αντιμετωπίστε το αποτέλεσμα ως προσχέδιο: συχνά αναμειγνύει τα API TensorFlow 1.x και 2.x, επομένως ελέγξτε κάθε όνομα με την τρέχουσα τεκμηρίωση πριν εκτελέσετε τον κώδικα.

Είτε δεν γράφτηκε αρχείο συμβάντος είτε η διαδρομή που μεταβιβάστηκε στο –logdir δεν ταιριάζει με αυτήν που χρησιμοποιήθηκε στην εργασία εκπαίδευσης. Επιβεβαιώστε ότι υπάρχει ένα αρχείο events.out.tfevents σε αυτόν τον φάκελο και ότι Windows ξεκινήστε το TensorBoard από το ίδιο γράμμα μονάδας δίσκου.

Συνοψίστε αυτήν την ανάρτηση με: