TensorFlow — це інструмент візуалізації, який називається TensorBoard. Він використовується для аналізу графіка потоку даних і для розуміння моделей машинного навчання. TensorBoard — це інтерфейс, який використовується для візуалізації графіка та багатьох інструментів для розуміння, налагодження та оптимізації моделі.
Важливою особливістю TensorBoard є те, що він включає перегляд різних типів статистики щодо параметрів і деталей будь-якого графіка у вертикальному вирівнюванні.
vb і vb net
Глибока нейронна мережа включає до 36 000 вузлів. TensorFlow допомагає згортати ці вузли у високому рівні, згортаючи ці вузли у високорівневих блоках і висвітлюючи ідентичні структури. Це дозволяє краще аналізувати графік, зосереджуючись на основних розділах графіка обчислення.
Кажуть, що візуалізація TensorBoard дуже інтерактивна, де користувач може панорамувати, масштабувати та розширювати вузли для відображення деталей.
Нижче представлена діаграма, яка показує повну роботу візуалізації TensorBoard-
Алгоритми згортають вузли в блоки високого рівня та виділяють конкретні групи з ідентичними структурами, які розділяють вузли високого ступеня. Створений TensorBoard є корисним і вважається таким же важливим для налаштування моделі машинного навчання. Цей інструмент візуалізації розроблено для файлу журналу конфігурації.
Подивіться на малюнок нижче:
Нейронна мережа вирішує, як з’єднати різні нейронів ' і скільки шарів перед тим, як модель зможе передбачити результат. Після того, як ми визначили архітектуру, нам потрібно не лише навчити модель, але й показники для обчислення точності прогнозу. Ця метрика називається функцією втрат. Мета полягає в тому, щоб як функція втрат.
TensorBoard — чудовий інструмент для візуалізації метрик і виділення потенційних проблем. Нейронній мережі можуть знадобитися години або тижні, перш ніж вони знайдуть рішення. TensorBoard дуже часто оновлює параметри.
TensorBoard знаходиться за цією URL-адресою: http://localhost:6006
Типи DashBoard у TensorBoard
1. Скалярна інформаційна панель
Він використовується для візуалізації залежної від часу статистики; наприклад, ми можемо захотіти поглянути на варіації швидкості навчання або функції втрат.
2. Гістограма
Інформаційна панель гістограми в TensorBoard відображає, як статистичний розподіл тензора змінювався з часом. Він візуалізує дані, записані через tf.summary.hystogram .
що таке пролог
3. Інформаційна панель розподілу
Це свідчить про використання високого рівня tf.summary.hystogram . Він показує деякі високорівневі старти роздачі. Кожен рядок на діаграмі дає підказку про процентиль у розподілі даних.
4. Інформаційна панель зображень
Тут показано файл png, збережений за допомогою a tf.summary.image . Рядки відповідають міткам, а стовпці - прогону. Використовуючи цю інформаційну панель із зображеннями TensorBoard, ми можемо вставляти власні візуалізації.
5. Аудіопанель
Це чудовий інструмент для вбудовування відтворюваних аудіо-віджетів для аудіо, збережених за допомогою a tf.summary.audio . Інформаційна панель завжди вбудовує останні аудіо для кожного тегу.
6. Провідник графів
Він в основному використовується для перевірки моделі TensorFlow.
7. Проектор
Вбудований проектор у TensorFlow, який використовується для багатовимірних даних. Вбудований проектор зчитує дані з файлу контрольних точок і може бути налаштований за допомогою відповідних даних, наприклад файлу словника.
8. Текстова панель
Текстова панель показує експертів з тексту, збережених через tf.summary.text. , містить такі функції, як гіперпосилання, списки та таблиці, усі вони підтримуються.
Різні погляди на TensorBoard
Різні перегляди приймають вхідні дані різних форматів і відображають їх по-різному. Ми можемо змінити їх на помаранчевій верхній панелі.
Як користуватися TensorBoard?
Ми дізнаємося, як відкрити TensorBoard з терміналу для MacOS і командного рядка Windows.
Код буде пояснено в майбутньому посібнику; тут у центрі уваги TensorBoard.
По-перше, нам потрібно імпортувати бібліотеки, які ми будемо використовувати під час навчання.
java перетворює ціле число на рядок
## Import the library import tensorflow as tf import numpy as np
Ми створюємо дані. Це масив з 10000 рядків і стовпців/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Наведений нижче код перетворює дані та створює модель.
Зверніть увагу, що коефіцієнт навчання дорівнює 0,1. Якщо ми змінимо цю швидкість на більш високе значення, модель не знайде рішення. Це те, що сталося в лівій частині зображення вище.
У прикладі нижче ми зберігаємо модель у робочому каталозі, тобто там, де ми зберігаємо блокнот або файл python. Усередині шляху TensorFlow створює папку під назвою train із назвою дочірньої папки 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 ) )
Вихід:
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}
Останній крок полягає в навчанні моделі. Протягом періоду навчання TensorFlow записує інформацію в каталог моделі.
# 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)
Вихід:
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
cd C:UsersAdminAnaconda3 activate hello-tf
Щоб запустити TensorBoard, ми можемо використати цей код
tensorboard --logdir=. rainlinreg