logo

TensorBoard

TensorFlow és una eina de visualització, que s'anomena TensorBoard. S'utilitza per analitzar el gràfic de flux de dades i s'utilitza per comprendre els models d'aprenentatge automàtic. TensorBoard és la interfície utilitzada per visualitzar el gràfic i moltes eines per entendre, depurar i optimitzar el model.

La característica important de TensorBoard és que inclou una vista de diferents tipus d'estadístiques sobre els paràmetres i detalls de qualsevol gràfic en una alineació vertical.

css canviant la mida de la imatge

La xarxa neuronal profunda inclou fins a 36,000 nodes. TensorFlow ajuda a col·lapsar aquests nodes en alt nivell a col·lapsar aquests nodes en blocs d'alt nivell i a ressaltar les estructures idèntiques. Això permet una millor anàlisi del gràfic, centrant-se en les seccions primàries del gràfic de càlcul.

TensorBoard

Es diu que la visualització de TensorBoard és molt interactiva on un usuari pot desplaçar-se, fer zoom i ampliar els nodes per mostrar els detalls.

A continuació es mostra la representació del diagrama que mostra el funcionament complet de la visualització de TensorBoard:

TensorBoard

Els algorismes col·lapsen els nodes en blocs d'alt nivell i van destacar els grups específics amb estructures idèntiques, que separen els nodes d'alt grau. El TensorBoard creat és útil i es tracta igualment important per ajustar un model d'aprenentatge automàtic. Aquesta eina de visualització està dissenyada per al fitxer de registre de configuració.

Mireu la imatge següent:

TensorBoard

Una xarxa neuronal decideix com connectar els diferents ' neurones i quantes capes abans que el model pugui predir el resultat. Un cop hem definit l'arquitectura, no només hem d'entrenar el model sinó també les mètriques per calcular la precisió de la predicció. Aquesta mètrica es coneix com a funció de pèrdua. L'objectiu és com a funció de pèrdua.

TensorBoard és una gran eina per visualitzar mètriques i ressaltar els problemes potencials. La xarxa neuronal pot trigar hores o setmanes abans que trobin una solució. TensorBoard actualitza els paràmetres molt sovint.

TensorBoard es troba en aquest URL: http://localhost:6006

Tipus de DashBoard a TensorBoard

TensorBoard

1. Tauler escalar

S'utilitza per visualitzar estadístiques dependents del temps; per exemple, podríem mirar les variacions de la taxa d'aprenentatge o la funció de pèrdua.

2. Histograma

El tauler d'histograma a TensorBoard mostra com la distribució estadística d'un tensor ha variat al llarg del temps. Visualitza les dades enregistrades mitjançant tf.resum.histograma .

dreceres de teclat de Linux

3. Tauler de distribució

Mostra un ús d'alt nivell tf.resum.histograma . Mostra alguns inicis d'alt nivell en una distribució. Cada línia del gràfic dóna una pista sobre el percentil de la distribució de les dades.

4. Tauler d'imatge

Això mostra el png que s'ha desat mitjançant a tf.summary.image . Les files corresponen a les etiquetes i les columnes a l'execució. Mitjançant aquest tauler d'imatge de TensorBoard, podem incrustar visualitzacions personalitzades.

5. Tauler d'àudio

És una eina excel·lent per incrustar ginys d'àudio reproduïbles per a àudios desats mitjançant a tf.summary.audio . El tauler sempre inclou l'àudio més recent per a cada etiqueta.

6. Explorador de gràfics

S'utilitza principalment per permetre la inspecció del model TensorFlow.

7. Projector

El projector d'inserció a TensorFlow utilitzat per a dades multidimensionals. El projector d'inserció llegeix les dades del fitxer del punt de control i es pot configurar amb les dades corresponents, com ara un fitxer de vocabulari.

8. Tauler de text

El tauler de text mostra els experts de text desats mitjançant tf.text.resum. , inclou funcions com hiperenllaços, llistes i taules, totes són compatibles.

TensorBoard

Diferents vistes de TensorBoard

Les diferents vistes prenen entrades de diferents formats i les mostren de manera diferent. Els podem canviar a la barra superior taronja.

    escalars-Visualitzeu valors escalars, com ara la precisió de classificació.Gràfic-Visualitzeu el gràfic computacional del nostre model, com el model de xarxa neuronal.distribucions-Visualitzeu com canvien les dades amb el temps, com ara els pesos d'una xarxa neuronal.Histogrames-Una visió més elegant de la distribució que mostra una distribució que mostra distribucions en una perspectiva tridimensional.projector-Es pot utilitzar per visualitzar les incrustacions de paraules (és a dir, les incrustacions de paraules són representacions numèriques de paraules que capturen les seves relacions semàntiques)Imatge-Visualització de dades d'imatgeÀudio-Visualització de dades d'àudioText-Visualització de dades de text

Com utilitzar TensorBoard?

Aprendrem a obrir TensorBoard des del terminal per a MacOS i Windows de línia d'ordres.

El codi s'explicarà en un tutorial futur; el focus aquí està en TensorBoard.

En primer lloc, hem d'importar les biblioteques que utilitzarem durant la formació.

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

Creem les dades. És una matriu de 10.000 files i columnes/p>

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

com convertir string a int a java

El codi següent transforma les dades i crea el model.

Tingueu en compte que la taxa d'aprenentatge és igual a 0,1. Si canviem aquesta taxa a un valor més alt, el model no trobarà solució. Això és el que va passar a la part esquerra de la imatge de dalt.

A l'exemple següent, emmagatzemem el model dins del directori de treball, és a dir, on emmagatzemem el quadern o el fitxer Python. Dins del camí, TensorFlow crea una carpeta anomenada train amb un nom de carpeta fill 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 ) ) 

Sortida:

 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} 

L'últim pas consisteix a entrenar el model. Durant el període d'entrenament, TensorFlow escriu informació al directori del model.

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

Sortida:

 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. 

Per a usuari de Windows

 cd C:UsersAdminAnaconda3 activate hello-tf 

Per llançar TensorBoard, podem utilitzar aquest codi

 tensorboard --logdir=.	rainlinreg