TensorFlow ir vizualizācijas rīks, ko sauc par TensorBoard. To izmanto datu plūsmas diagrammas analīzei un izmanto, lai izprastu mašīnmācības modeļus. TensorBoard ir saskarne, ko izmanto, lai vizualizētu grafiku un daudzus rīkus modeļa izpratnei, atkļūdošanai un optimizēšanai.
Svarīga TensorBoard iezīme ir tā, ka tajā ir ietverts dažādu veidu statistikas skats par jebkuras diagrammas parametriem un detaļām vertikālā līdzinājumā.
izlīdziniet attēlu ar css
Dziļais neironu tīkls ietver līdz 36 000 mezgli. TensorFlow palīdz sabrukt šos mezglus augstā līmenī, sakļaujot šos mezglus augsta līmeņa blokos un izceļot identiskas struktūras. Tas ļauj labāk analizēt grafiku, koncentrējoties uz aprēķina diagrammas primārajām sadaļām.
Tiek uzskatīts, ka TensorBoard vizualizācija ir ļoti interaktīva, kur lietotājs var panoramēt, tuvināt un paplašināt mezglus, lai parādītu informāciju.
Tālāk ir dota diagramma, kas parāda pilnīgu TensorBoard vizualizācijas darbību-
Algoritmi sakļauj mezglus augsta līmeņa blokos un izceļ konkrētas grupas ar identiskām struktūrām, kas atdala augstas pakāpes mezglus. Izveidotā TensorBoard ir noderīga, un tā tiek uzskatīta par vienlīdz svarīgu mašīnmācīšanās modeļa noregulēšanā. Šis vizualizācijas rīks ir paredzēts konfigurācijas žurnālfailam.
Apskatiet attēlu zemāk:
Neironu tīkls izlemj, kā savienot dažādus neironiem un cik slāņu, pirms modelis var paredzēt rezultātu. Kad esam definējuši arhitektūru, mums ir ne tikai jāapmāca modelis, bet arī metrika, lai aprēķinātu prognozes precizitāti. Šo rādītāju sauc par zaudējumu funkciju. Mērķis ir kā zaudējumu funkcija.
TensorBoard ir lielisks rīks, lai vizualizētu metriku un izceltu iespējamās problēmas. Neironu tīkls var ilgt vairākas stundas līdz nedēļas, pirms tie atrod risinājumu. TensorBoard ļoti bieži atjaunina parametrus.
TensorBoard atrodas šajā URL: http://localhost:6006
DashBoard veidi pakalpojumā TensorBoard
1. Skalārais informācijas panelis
To izmanto, lai vizualizētu no laika atkarīgu statistiku; piemēram, mēs varētu vēlēties apskatīt mācīšanās ātruma vai zaudēšanas funkcijas atšķirības.
2. Histogramma
Histogrammas informācijas panelis programmā TensorBoard parāda, kā Tensora statistiskais sadalījums laika gaitā ir mainījies. Tas vizualizē datus, kas ierakstīti, izmantojot tf.summary.histogramma .
iestatīt java
3. Izplatīšanas informācijas panelis
Tas parāda dažu augsta līmeņa izmantošanu tf.summary.histogramma . Tas parāda dažus augsta līmeņa startus izplatīšanai. Katra diagrammas rinda sniedz mājienu par procentili datu sadalījumā.
4. Attēlu informācijas panelis
Tas parāda png, kas tika saglabāts, izmantojot a tf.summary.image . Rindas atbilst etiķetēm, bet kolonnas - izpildei. Izmantojot šo TensorBoard attēlu informācijas paneli, mēs varam iegult pielāgotas vizualizācijas.
5. Audio informācijas panelis
Tas ir lielisks rīks atskaņojamu audio logrīku iegulšanai audio failiem, kas saglabāti, izmantojot a tf.summary.audio . Informācijas panelī katrai atzīmei vienmēr ir iegulta jaunākā audio informācija.
6. Graph Explorer
To galvenokārt izmantoja, lai iespējotu TensorFlow modeļa pārbaudi.
7. Projektors
TensorFlow iegulšanas projektors tiek izmantots daudzdimensiju datiem. Iegulšanas projektors nolasa datus no kontrolpunkta faila un var tikt iestatīts ar atbilstošiem datiem, piemēram, vārdu krājuma failu.
8. Teksta informācijas panelis
Teksta informācijas panelis parāda teksta ekspertus, kas saglabāti, izmantojot tf.summary.text. , ietver tādas funkcijas kā hipersaites, sarakstus un tabulas, visi tiek atbalstīti.
Dažādi TensorBoard viedokļi
Dažādos skatos tiek ievadīti dažādi formāti un tie tiek parādīti atšķirīgi. Mēs varam tos mainīt oranžajā augšējā joslā.
Kā lietot TensorBoard?
Mēs uzzināsim, kā atvērt TensorBoard no termināļa operētājsistēmai MacOS un komandrindas Windows.
Kods tiks izskaidrots nākamajā apmācībā; šeit galvenā uzmanība tiek pievērsta TensorBoard.
Pirmkārt, mums ir jāimportē bibliotēkas, kuras izmantosim apmācību laikā.
## Import the library import tensorflow as tf import numpy as np
Mēs veidojam datus. Tas ir 10 000 rindu un kolonnu masīvs/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Tālāk norādītais kods pārveido datus un izveido modeli.
Ņemiet vērā, ka mācīšanās ātrums ir vienāds ar 0,1. Ja mainīsim šo likmi uz lielāku vērtību, modelis neatradīs risinājumu. Tas notika augšējā attēla kreisajā pusē.
Tālāk esošajā piemērā modelis tiek saglabāts darba direktorijā, t.i., kur mēs glabājam piezīmju grāmatiņu vai python failu. Ceļā TensorFlow izveido mapi ar nosaukumu vilciens ar bērna mapes nosaukumu linreg.
tipa liešana un tipa konvertēšana java
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 ) )
Izvade:
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}
Pēdējais solis ir modeļa apmācība. Apmācības laikā TensorFlow ieraksta informāciju modeļu direktorijā.
# 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)
Izvade:
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 lietotājam
cd C:UsersAdminAnaconda3 activate hello-tf
Lai palaistu TensorBoard, mēs varam izmantot šo kodu
tensorboard --logdir=. rainlinreg