TensorBoard Tutorial: TensorFlow Graph Visualization [Exempel]
Vad รคr TensorBoard?
TensorBoard รคr grรคnssnittet som anvรคnds fรถr att visualisera grafen och andra verktyg fรถr att fรถrstรฅ, felsรถka och optimera modellen. Det รคr ett verktyg som tillhandahรฅller mรคtningar och visualiseringar fรถr arbetsflรถdet fรถr maskininlรคrning. Det hjรคlper till att spรฅra mรคtvรคrden som fรถrlust och noggrannhet, visualisering av modellgrafer, projektinbรคddning vid lรคgre dimensionella utrymmen, etc.
TensorFlow-grafvisualisering med Tensorboard-exempel
Bilden nedan kommer frรฅn TensorBoard-grafen som du kommer att generera i denna TensorBoard-handledning. Det รคr huvudpanelen:

Frรฅn bilden nedan kan du se panelen fรถr TensorBoard grafvisualisering. Panelen innehรฅller olika flikar, som รคr kopplade till den informationsnivรฅ du lรคgger till nรคr du kรถr modellen.
- Skalรคrer: Visa olika anvรคndbar information under modellutbildningen
- Grafer: Visa modellen
- Histogram: Visa vikter med ett histogram
- Distribution: Visa fรถrdelningen av vikten
- Projektor: Visa Principal komponentanalys och T-SNE-algoritm. Tekniken som anvรคnds fรถr dimensionsreduktion
Under denna TensorBoard Tutorial kommer du att trรคna en enkel modell fรถr djupinlรคrning. Du kommer att lรคra dig hur det fungerar i en framtida handledning.
Om du tittar pรฅ grafen kan du fรถrstรฅ hur modellen fungerar.
- Lรคgg data i kรถ till modellen: Skicka en mรคngd data lika med batchstorleken till modellen, dvs antal dataflรถden efter varje iteration
- Mata in data till Tensorerna
- Trรคna modellen
- Visa antalet partier under utbildningen. Spara modellen pรฅ disken.
Grundtanken bakom tensorboard รคr att neurala nรคtverk kan vara nรฅgot som kallas en svart lรฅda och vi behรถver ett verktyg fรถr att inspektera vad som finns inuti denna lรฅda. Du kan fรถrestรคlla dig tensorboard som en ficklampa fรถr att bรถrja dyka in i det neurala nรคtverket.
Det hjรคlper till att fรถrstรฅ beroenden mellan operationer, hur vikterna berรคknas, visar fรถrlustfunktionen och mycket annan anvรคndbar information. Nรคr du samlar all denna information har du ett bra verktyg fรถr att felsรถka och hitta hur du kan fรถrbรคttra modellen.
Fรถr att ge dig en uppfattning om hur anvรคndbar TensorBoard-grafen kan vara, titta pรฅ bilden nedan:

Ett neuralt nรคtverk bestรคmmer hur de olika "neuronerna" ska kopplas ihop och hur mรฅnga lager innan modellen kan fรถrutsรคga ett utfall. Nรคr du vรคl har definierat arkitekturen behรถver du inte bara trรคna modellen utan ocksรฅ ett mรฅtt fรถr att berรคkna noggrannheten i fรถrutsรคgelsen. Detta mรฅtt refereras till som en fรถrlustfunktion. Mรฅlet รคr att minimera fรถrlustfunktionen. Med andra ord betyder det att modellen gรถr fรคrre fel. Alla maskininlรคrningsalgoritmer kommer att upprepa berรคkningarna mรฅnga gรฅnger tills fรถrlusten nรฅr en plattare linje. Fรถr att minimera denna fรถrlustfunktion mรฅste du definiera en inlรคrningshastighet. Det รคr hastigheten du vill att modellen ska lรคra sig. Om du sรคtter en inlรคrningshastighet fรถr hรถgt hinner modellen inte lรคra sig nรฅgot. Sรฅ รคr fallet pรฅ den vรคnstra bilden. Linjen rรถr sig upp och ner, vilket innebรคr att modellen fรถrutsรคger resultatet med ren gissning. Bilden till hรถger visar att fรถrlusten minskar รถver iteration tills kurvan blev platt, vilket betyder att modellen hittade en lรถsning.
TensorBoard รคr ett utmรคrkt verktyg fรถr att visualisera sรฅdana mรคtvรคrden och lyfta fram potentiella problem. Det neurala nรคtverket kan ta timmar till veckor innan de hittar en lรถsning. TensorBoard uppdaterar mรคtvรคrdena mycket ofta. I det hรคr fallet behรถver du inte vรคnta till slutet fรถr att se om modellen trรคnar rรคtt. Du kan รถppna TensorBoard fรถr att kontrollera hur utbildningen gรฅr och gรถra lรคmpliga รคndringar vid behov.
Hur anvรคnder man TensorBoard?
I den hรคr handledningen lรคr du dig hur du รถppnar TensorBoard frรฅn terminalen fรถr MacOS och kommandoraden TensorBoard fรถr Windows.
Koden kommer att fรถrklaras i en framtida handledning, fokus hรคr ligger pรฅ TensorBoard.
Fรถrst mรฅste du importera de bibliotek du kommer att anvรคnda under utbildningen
## Import the library import tensorflow as tf import numpy as np
Du skapar data. Det รคr en matris med 10000 5 rader och XNUMX kolumner
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Produktion
(10000, 5)
Koderna nedan transformerar data och skapar modellen.
Observera att inlรคrningshastigheten รคr lika med 0.1. Om du รคndrar denna kurs till ett hรถgre vรคrde kommer modellen inte att hitta en lรถsning. Detta รคr vad som hรคnde till vรคnster pรฅ bilden ovan.
Under stรถrre delen av TensorFlow handledning, kommer du att anvรคnda TensorFlow estimator. Detta รคr TensorFlow API som innehรฅller alla matematiska berรคkningar.
Fรถr att skapa loggfilerna mรฅste du ange sรถkvรคgen. Detta gรถrs med argumentet model_dir.
I TensorBoard-exemplet nedan lagrar du modellen i arbetskatalogen, dvs dรคr du lagrar anteckningsboken eller pythonfilen. Inuti den hรคr sรถkvรคgen kommer TensorFlow att skapa en mapp som heter train med ett underordnat mappnamn 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
)
)
Produktion
INFO:tensorflow:Using default config.
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': <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}
Det sista steget i detta TensorFlow visualiseringsgrafexempel bestรฅr i att trรคna modellen. Under utbildningen skriver TensorFlow information i modellkatalogen.
# 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)
Produktion
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>
Fรถr MacOS-anvรคndare
Fรถr Windows anvรคndare
Du kan se denna information iPyTorch TensorBoard.
Nu nรคr du har skrivit logghรคndelserna kan du รถppna Tensorboard. Tensorboard Keras kรถrs pรฅ port 6006 (Jupyter kรถrs pรฅ port 8888). Du kan anvรคnda Terminal fรถr MacOs-anvรคndare eller Anaconda-prompten fรถr Windows anvรคndaren.
Fรถr MacOS-anvรคndare
# Different for you cd /Users/Guru99/tuto_TF source activate hello-tf!
Anteckningsboken lagras i sรถkvรคgen /Users/Guru99/tuto_TF
Fรถr Windows anvรคndare
cd C:\Users\Admin\Anaconda3 activate hello-tf
Anteckningsboken lagras i sรถkvรคgen C:\Users\Admin\Anaconda3
Fรถr att starta Tensorboard kan du anvรคnda den hรคr koden
Fรถr MacOS-anvรคndare
tensorboard --logdir=./train/linreg
Fรถr Windows anvรคndare
tensorboard --logdir=.\train\linreg
Tensorboard finns i denna URL: http://localhost:6006
Den kan ocksรฅ vara placerad pรฅ fรถljande plats.
Kopiera och klistra in webbadressen i din favoritwebblรคsare. Du borde se detta:
Observera att vi kommer att lรคra oss hur man lรคser grafen i handledningen tillรคgnad djupt lรคrande.
Om du ser nรฅgot sรฅnt hรคr:
Det betyder att Tensorboard inte kan hitta loggfilen. Se till att du pekar cd:n pรฅ rรคtt vรคg eller dubbelkolla om logghรคndelsen har skapats. Om inte, kรถr koden igen.
Om du vill stรคnga TensorBoard, tryck CTRL+C
Hatttips: Kontrollera din anaconda-prompt fรถr den aktuella arbetskatalogen,
Loggfilen ska skapas pรฅ C:\Users\Admin
Sammanfattning
TensorBoard รคr ett utmรคrkt verktyg fรถr att visualisera din modell. Dessutom visas mรฅnga mรคtvรคrden under trรคningen, sรฅsom fรถrlust, noggrannhet eller vikter.
Fรถr att aktivera Tensorboard mรฅste du stรคlla in sรถkvรคgen till din fil:
cd /Users/Guru99/tuto_TF
Aktivera Tensorflows miljรถ
activate hello-tf
Starta Tensorboard
tensorboard --logdir=.+ PATH







