logo

Płyta Tensor

TensorFlow to narzędzie do wizualizacji, które nazywa się TensorBoard. Służy do analizy wykresu przepływu danych i służy do zrozumienia modeli uczenia maszynowego. TensorBoard to interfejs używany do wizualizacji wykresu i wiele narzędzi do zrozumienia, debugowania i optymalizacji modelu.

Ważną cechą TensorBoard jest to, że zawiera widok różnych typów statystyk dotyczących parametrów i szczegółów dowolnego wykresu w układzie pionowym.

ciąg wejściowy Java

Głęboka sieć neuronowa obejmuje do 36 000 węzły. TensorFlow pomaga w zwijaniu tych węzłów w wysokim stopniu w zwijaniu tych węzłów w bloki wysokiego poziomu i podkreślaniu identycznych struktur. Pozwala to na lepszą analizę wykresu, koncentrując się na głównych sekcjach wykresu obliczeniowego.

Płyta Tensor

Mówi się, że wizualizacja TensorBoard jest bardzo interaktywna, a użytkownik może przesuwać, powiększać i rozszerzać węzły, aby wyświetlić szczegóły.

Poniżej przedstawiono diagram przedstawiający pełne działanie wizualizacji TensorBoard:

Płyta Tensor

Algorytmy zwijają węzły w bloki wysokiego poziomu i wyróżniają określone grupy o identycznych strukturach, które oddzielają węzły wysokiego poziomu. Utworzona tablica TensorBoard jest przydatna i traktowana jako równie ważna przy dostrajaniu modelu uczenia maszynowego. To narzędzie do wizualizacji jest przeznaczone dla pliku dziennika konfiguracji.

Spójrz na obrazek poniżej:

Płyta Tensor

Sieć neuronowa decyduje, jak połączyć różne „ neurony ' i ile warstw, zanim model będzie w stanie przewidzieć wynik. Po zdefiniowaniu architektury musimy nie tylko wytrenować model, ale także metryki, aby obliczyć dokładność prognozy. Metryka ta nazywana jest funkcją straty. Celem jest funkcja straty.

TensorBoard to świetne narzędzie do wizualizacji metryk i podkreślania potencjalnych problemów. Znalezienie rozwiązania może zająć sieci neuronowej od godzin do tygodni. TensorBoard bardzo często aktualizuje parametry.

TensorBoard znajduje się pod tym adresem URL: http://localhost:6006

Rodzaje DashBoard w TensorBoard

Płyta Tensor

1. Pulpit skalarny

Służy do wizualizacji statystyk zależnych od czasu; na przykład możemy chcieć przyjrzeć się zmianom w szybkości uczenia się lub funkcji straty.

2. Histogram

Panel histogramu w TensorBoard pokazuje, jak rozkład statystyczny Tensora zmieniał się w czasie. Wizualizuje dane zapisane za pośrednictwem tf.podsumowanie.histogram .

k algorytm grupowania

3. Panel dystrybucji

Pokazuje pewne wykorzystanie na wysokim poziomie tf.podsumowanie.histogram . Pokazuje pewne starty na wysokim poziomie w dystrybucji. Każda linia na wykresie zawiera wskazówkę dotyczącą percentyla rozkładu danych.

4. Panel obrazu

To pokazuje png, który został zapisany za pomocą pliku obraz.podsumowania.tf . Wiersze odpowiadają etykietom, a kolumny przebiegowi. Korzystając z tego pulpitu nawigacyjnego obrazów TensorBoard, możemy osadzić niestandardowe wizualizacje.

5. Panel audio

Jest to doskonałe narzędzie do osadzania odtwarzalnych widżetów audio dla plików audio zapisanych w formacie tf.podsumowanie.audio . Pulpit nawigacyjny zawsze zawiera najnowszy dźwięk dla każdego tagu.

6. Eksplorator wykresów

Służy przede wszystkim do umożliwienia kontroli modelu TensorFlow.

7. Projektor

Projektor osadzający w TensorFlow używany do danych wielowymiarowych. Projektor osadzający odczytuje dane z pliku punktów kontrolnych i może zostać skonfigurowany z odpowiednimi danymi, takimi jak plik słownika.

8. Panel tekstowy

Panel tekstowy pokazuje ekspertów tekstowych zapisanych za pośrednictwem tf.podsumowanie.tekst. , zawiera funkcje takie jak hiperłącza, listy i tabele, są obsługiwane.

Płyta Tensor

Różne widoki TensorBoard

Różne widoki przyjmują dane wejściowe w różnych formatach i wyświetlają je w różny sposób. Możemy je zmienić na pomarańczowym górnym pasku.

    Skalary-Wizualizuj wartości skalarne, takie jak dokładność klasyfikacji.Wykres-Wizualizuj wykres obliczeniowy naszego modelu, taki jak model sieci neuronowej.Dystrybucje-Wizualizuj zmiany danych w czasie, np. wagę sieci neuronowej.Histogramy-Bardziej wyszukany widok rozkładu przedstawiający rozkład przedstawiający rozkłady w perspektywie trójwymiarowej.Projektor-Można go używać do wizualizacji osadzania słów (tzn. osadzania słów to numeryczne reprezentacje słów, które oddają ich relacje semantyczne)Obraz-Wizualizacja danych obrazuAudio-Wizualizacja danych dźwiękowychTekst-Wizualizacja danych tekstowych

Jak korzystać z TensorBoarda?

Dowiemy się, jak otworzyć TensorBoard z terminala dla systemu MacOS i Windows z wierszem poleceń.

Kod zostanie wyjaśniony w przyszłym samouczku; skupiamy się tutaj na TensorBoard.

Na początek musimy zaimportować biblioteki, z których będziemy korzystać podczas szkolenia.

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

Tworzymy dane. Jest to tablica zawierająca 10000 wierszy i kolumn/p>

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

javascript po kliknięciu

Poniższy kod przekształca dane i tworzy model.

Należy pamiętać, że szybkość uczenia się wynosi 0,1. Jeśli zmienimy tę stawkę na wyższą wartość, model nie znajdzie rozwiązania. To samo wydarzyło się po lewej stronie powyższego zdjęcia.

W poniższym przykładzie przechowujemy model w katalogu roboczym, czyli tam, gdzie przechowujemy notatnik lub plik Pythona. Wewnątrz ścieżki TensorFlow utwórz folder o nazwie train z nazwą folderu podrzędnego 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 ) ) 

Wyjście:

 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} 

Ostatnim krokiem jest wytrenowanie modelu. W okresie szkoleniowym TensorFlow zapisuje informacje w katalogu modelu.

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

Wyjście:

 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. 

Dla użytkownika systemu Windows

 cd C:UsersAdminAnaconda3 activate hello-tf 

Aby uruchomić TensorBoard, możemy użyć tego kodu

 tensorboard --logdir=.	rainlinreg