TensorFlow yra vizualizacijos įrankis, vadinamas TensorBoard. Jis naudojamas duomenų srauto diagramai analizuoti ir mašininio mokymosi modeliams suprasti. „TensorBoard“ yra sąsaja, naudojama diagramai vizualizuoti ir daugeliui įrankių modeliui suprasti, derinti ir optimizuoti.
Svarbi „TensorBoard“ savybė yra ta, kad ji apima įvairių tipų statistiką apie bet kurios vertikalios išlygiavimo grafiko parametrus ir detales.
momentinė java
Gilusis neuroninis tinklas apima iki 36 000 mazgai. „TensorFlow“ padeda sugriauti šiuos mazgus aukšto lygio blokuose ir išryškinti identiškas struktūras. Tai leidžia geriau analizuoti grafiką, sutelkiant dėmesį į pirmines skaičiavimo grafiko dalis.
Teigiama, kad „TensorBoard“ vizualizacija yra labai interaktyvi, kai vartotojas gali stumdyti, keisti mastelį ir išplėsti mazgus, kad būtų rodoma išsami informacija.
Toliau pateiktoje diagramoje parodytas visas TensorBoard vizualizacijos veikimas-
Algoritmai sutraukia mazgus į aukšto lygio blokus ir išryškina specifines grupes su identiškomis struktūromis, kurios skiria aukšto laipsnio mazgus. Sukurta TensorBoard yra naudinga ir yra laikoma vienodai svarbia derinant mašininio mokymosi modelį. Šis vizualizacijos įrankis skirtas konfigūracijos žurnalo failui.
Pažiūrėkite į paveikslėlį žemiau:
Neuroninis tinklas nusprendžia, kaip sujungti skirtingus neuronai ir kiek sluoksnių, kol modelis gali numatyti rezultatą. Apibrėžę architektūrą, turime ne tik išmokyti modelį, bet ir metriką prognozės tikslumui apskaičiuoti. Ši metrika vadinama nuostolių funkcija. Tikslas yra kaip nuostolių funkcija.
„TensorBoard“ yra puikus įrankis, leidžiantis vizualizuoti metrikas ir pabrėžti galimas problemas. Neuroniniam tinklui gali prireikti valandų ar savaičių, kol jie randa sprendimą. TensorBoard labai dažnai atnaujina parametrus.
TensorBoard yra šiame URL: http://localhost:6006
DashBoard tipai TensorBoard
1. Skaliarinis prietaisų skydelis
Jis naudojamas nuo laiko priklausančiai statistikai vizualizuoti; Pavyzdžiui, galime pažvelgti į mokymosi greičio ar praradimo funkcijos skirtumus.
2. Histograma
Histogramos prietaisų skydelis „TensorBoard“ rodo, kaip statistinis Tensor pasiskirstymas keitėsi laikui bėgant. Jis vizualizuoja duomenis, įrašytus per tf.summary.histogram .
katalogo pervadinimas linux
3. Paskirstymo prietaisų skydelis
Tai rodo tam tikrą aukšto lygio naudojimą tf.summary.histogram . Tai rodo kai kuriuos aukšto lygio platinimo startus. Kiekvienoje diagramos eilutėje pateikiama užuomina apie procentilį duomenų pasiskirstyme.
4. Vaizdo prietaisų skydelis
Tai rodo png, kuris buvo išsaugotas naudojant a tf.summary.image . Eilutės atitinka etiketes, o stulpeliai – paleidimą. Naudodami šią „TensorBoard“ vaizdo informacijos suvestinę, galime įterpti pasirinktines vizualizacijas.
5. Garso prietaisų skydelis
Tai puikus įrankis leidžiamiems garso valdikliams įterpti garso įrašams, išsaugotiems per a tf.summary.audio . Prietaisų skydelyje visada įterpiamas naujausias kiekvienos žymos garso įrašas.
6. Graph Explorer
Jis pirmiausia naudojamas norint patikrinti TensorFlow modelį.
7. Projektorius
TensorFlow įterpiamasis projektorius naudojamas daugiamačiams duomenims. Įterpiamasis projektorius nuskaito duomenis iš kontrolinio taško failo ir gali būti nustatytas naudojant atitinkamus duomenis, pvz., žodyno failą.
8. Teksto prietaisų skydelis
Teksto informacijos suvestinėje rodomi teksto ekspertai, išsaugoti naudojant tf.summary.text. , apima tokias funkcijas kaip hipersaitai, sąrašai ir lentelės, visos palaikomos.
Skirtingi TensorBoard požiūriai
Skirtingi rodiniai įvedami skirtingais formatais ir rodomi skirtingai. Juos galime pakeisti oranžinėje viršutinėje juostoje.
kiek metų yra Pitui Deividsonui
Kaip naudoti TensorBoard?
Išmoksime atidaryti TensorBoard iš terminalo, skirto MacOS ir komandų eilutės Windows.
Kodas bus paaiškintas būsimoje pamokoje; čia daugiausia dėmesio skiriama TensorBoard.
Pirmiausia turime importuoti bibliotekas, kurias naudosime mokymų metu.
## Import the library import tensorflow as tf import numpy as np
Mes sukuriame duomenis. Tai 10 000 eilučių ir stulpelių / p> masyvas
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Žemiau pateiktas kodas transformuoja duomenis ir sukuria modelį.
Atkreipkite dėmesį, kad mokymosi rodiklis yra lygus 0,1. Jei pakeisime šį rodiklį į didesnę reikšmę, modelis neras sprendimo. Tai atsitiko kairėje aukščiau esančios nuotraukos pusėje.
Toliau pateiktame pavyzdyje modelį saugome darbiniame kataloge, t. y. ten, kur saugome užrašų knygelę arba python failą. Kelyje „TensorFlow“ sukuria aplanką „traukinys“ su antriniu aplanko pavadinimu „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 ) )
Išvestis:
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}
Paskutinis žingsnis yra modelio mokymas. Treniruotės metu TensorFlow įrašo informaciją į modelių katalogą.
# 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)
Išvestis:
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“ naudotojui
cd C:UsersAdminAnaconda3 activate hello-tf
Norėdami paleisti TensorBoard, galime naudoti šį kodą
tensorboard --logdir=. rainlinreg