TensorFlow est un outil de visualisation appelé TensorBoard. Il est utilisé pour analyser le graphique de flux de données et pour comprendre les modèles d'apprentissage automatique. TensorBoard est l'interface utilisée pour visualiser le graphique et de nombreux outils pour comprendre, déboguer et optimiser le modèle.
La caractéristique importante de TensorBoard est qu'il inclut une vue de différents types de statistiques sur les paramètres et les détails de tout graphique dans un alignement vertical.
apprendre le sélénium
Le réseau neuronal profond comprend jusqu'à 36 000 nœuds. TensorFlow aide à réduire ces nœuds en haut en réduisant ces nœuds en blocs de haut niveau et en mettant en évidence les structures identiques. Cela permet une meilleure analyse du graphique, en se concentrant sur les sections principales du graphique de calcul.
La visualisation TensorBoard est considérée comme très interactive : un utilisateur peut effectuer un panoramique, un zoom et une expansion des nœuds pour afficher les détails.
Voici la représentation schématique donnée qui montre le fonctionnement complet de la visualisation TensorBoard.
Les algorithmes regroupent les nœuds en blocs de haut niveau et mettent en évidence les groupes spécifiques avec des structures identiques, qui séparent les nœuds de haut niveau. Le TensorBoard créé est utile et est considéré comme tout aussi important pour régler un modèle d'apprentissage automatique. Cet outil de visualisation est conçu pour le fichier journal de configuration.
Regardez l'image ci-dessous:
Un réseau de neurones décide comment connecter les différents ' neurones » et combien de couches avant que le modèle puisse prédire le résultat. Une fois que nous avons défini l'architecture, nous devons non seulement entraîner le modèle mais également des métriques pour calculer la précision de la prédiction. Cette métrique est appelée fonction de perte. L'objectif est d'agir en tant que fonction de perte.
TensorBoard est un excellent outil pour visualiser les métriques et mettre en évidence les problèmes potentiels. Le réseau neuronal peut prendre des heures, voire des semaines, avant de trouver une solution. TensorBoard met à jour les paramètres très souvent.
TensorBoard se trouve à cette URL : http://localhost:6006
Types de DashBoard dans TensorBoard
1. Tableau de bord scalaire
Il est utilisé pour visualiser des statistiques en fonction du temps ; par exemple, nous pourrions vouloir examiner les variations du taux d'apprentissage ou la fonction de perte.
2. Histogramme
Le tableau de bord d'histogramme dans TensorBoard affiche comment la distribution statistique d'un Tensor a varié au fil du temps. Il visualise les données enregistrées via tf.summary.histogramme .
expression régulière Java pour
3. Tableau de bord de distribution
Il montre une utilisation de haut niveau de tf.summary.histogramme . Il montre quelques démarrages de haut niveau sur une distribution. Chaque ligne du graphique donne une indication sur le percentile de la distribution sur les données.
4. Tableau de bord des images
Cela montre le png qui a été enregistré via un tf.summary.image . Les lignes correspondent aux étiquettes et les colonnes à l'exécution. En utilisant ce tableau de bord d'images de TensorBoard, nous pouvons intégrer des visualisations personnalisées.
5. Tableau de bord audio
C'est un excellent outil pour intégrer des widgets audio lisibles pour les audios enregistrés via un tf.summary.audio . Le tableau de bord intègre toujours le dernier audio pour chaque balise.
6. Explorateur de graphiques
Il est principalement utilisé pour permettre l'inspection du modèle TensorFlow.
7. Projecteur
Le projecteur d'intégration dans TensorFlow utilisé pour les données multidimensionnelles. Le projecteur d'intégration lit les données du fichier de point de contrôle et peut être configuré avec les données correspondantes, telles qu'un fichier de vocabulaire.
8. Tableau de bord texte
Le tableau de bord texte affiche les experts en texte enregistrés via tf.summary.text. , inclut des fonctionnalités telles que des hyperliens, des listes et des tableaux, sont tous pris en charge.
Différentes vues de TensorBoard
Différentes vues prennent des entrées de différents formats et les affichent différemment. Nous pouvons les changer sur la barre supérieure orange.
Comment utiliser TensorBoard ?
Nous apprendrons comment ouvrir TensorBoard à partir du terminal pour MacOS et Windows en ligne de commande.
Le code sera expliqué dans un prochain tutoriel ; l'accent est mis ici sur TensorBoard.
Tout d’abord, nous devons importer les bibliothèques que nous utiliserons pendant la formation.
## Import the library import tensorflow as tf import numpy as np
Nous créons les données. C'est un tableau de 10 000 lignes et colonnes/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
installer maven
Le code ci-dessous transforme les données et crée le modèle.
A noter que le taux d'apprentissage est égal à 0,1. Si nous modifions ce taux vers une valeur plus élevée, le modèle ne trouvera pas de solution. C'est ce qui s'est passé sur le côté gauche de l'image ci-dessus.
Dans l'exemple ci-dessous, nous stockons le modèle dans le répertoire de travail, c'est-à-dire là où nous stockons le notebook ou le fichier python. À l'intérieur du chemin, TensorFlow crée un dossier appelé train avec un nom de dossier enfant 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 ) )
Sortir:
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}
La dernière étape consiste à entraîner le modèle. Pendant la période de formation, TensorFlow écrit des informations dans le répertoire du modèle.
# 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)
Sortir:
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.
Pour l'utilisateur Windows
cd C:UsersAdminAnaconda3 activate hello-tf
Pour lancer TensorBoard, nous pouvons utiliser ce code
tensorboard --logdir=. rainlinreg