TensorBoard
TensorFlow е инструмент за визуализация, който се нарича TensorBoard. Използва се за анализиране на графиката на потока от данни и за разбиране на модели на машинно обучение. TensorBoard е интерфейсът, използван за визуализиране на графиката и много инструменти за разбиране, отстраняване на грешки и оптимизиране на модела.
Важната характеристика на TensorBoard е, че включва изглед на различни видове статистики за параметрите и детайлите на всяка графика във вертикално подравняване.
Дълбоката невронна мрежа включва до 36 000 възли. TensorFlow помага при свиването на тези възли във високо ниво при свиването на тези възли в блокове на високо ниво и подчертаването на идентичните структури. Това позволява по-добър анализ на графиката, като се фокусира върху основните секции на изчислителната графика.
Твърди се, че визуализацията на TensorBoard е много интерактивна, където потребителят може да панорамира, мащабира и разширява възлите, за да покаже подробностите.
Следващото представяне на дадена диаграма показва пълната работа на визуализацията на TensorBoard-
Алгоритмите свиват възлите в блокове от високо ниво и подчертават специфичните групи с идентични структури, които разделят възлите от висока степен. Създаденият TensorBoard е полезен и се третира като еднакво важен за настройка на модел за машинно обучение. Този инструмент за визуализация е предназначен за регистрационния файл на конфигурацията.
Вижте снимката по-долу:
Невронна мрежа решава как да свърже различните неврони “ и колко слоя преди моделът да може да предвиди резултата. След като сме дефинирали архитектурата, трябва не само да обучим модела, но също така и показатели, за да изчислим точността на прогнозата. Този показател се нарича функция на загуба. Целта е като функция на загуба.
TensorBoard е чудесен инструмент за визуализиране на показатели и подчертаване на потенциалните проблеми. Невронната мрежа може да отнеме часове до седмици, преди да намери решение. TensorBoard актуализира параметрите много често.
TensorBoard се намира на този URL адрес: http://localhost:6006
Видове DashBoard в TensorBoard
1. Скаларно табло
Използва се за визуализиране на зависими от времето статистики; например, може да искаме да разгледаме вариациите в скоростта на обучение или функцията на загуба.
2. Хистограма
Таблото за управление на хистограмата в TensorBoard показва как статистическото разпределение на тензор е варирало във времето. Той визуализира данните, записани чрез tf.summary.histogram .
3. Табло за разпространение
Това показва използване на високо ниво на tf.summary.histogram . Показва някои стартове на високо ниво на разпределение. Всеки ред на диаграмата дава намек за процентила в разпределението върху данните.
4. Табло за управление на изображения
Това показва png, който е записан чрез a tf.summary.image . Редовете съответстват на етикетите, а колоните на цикъла. Използвайки това табло за управление на изображения на TensorBoard, можем да вграждаме персонализирани визуализации.
5. Аудио табло
Това е отличен инструмент за вграждане на възпроизвеждани аудио джаджи за аудиозаписи, записани чрез a tf.summary.audio . Таблото за управление винаги вгражда най-новото аудио за всеки етикет.
6. Graph Explorer
Използва се предимно за разрешаване на проверка на модела TensorFlow.
7. Проектор
Проекторът за вграждане в TensorFlow, използван за многоизмерни данни. Проекторът за вграждане чете данни от файла с контролна точка и може да бъде настроен със съответните данни, като например файл с речник.
8. Текстово табло
Текстовото табло показва текстови експерти, запазени чрез tf.summary.text. , включва функции като хипервръзки, списъци и таблици, всички се поддържат.
Различни изгледи на TensorBoard
Различните изгледи приемат входове от различни формати и ги показват по различен начин. Можем да ги променим на оранжевата горна лента.
Как да използвам TensorBoard?
Ще научим как да отваряме TensorBoard от терминала за MacOS и Windows с команден ред.
Кодът ще бъде обяснен в бъдещ урок; фокусът тук е върху TensorBoard.
Първо, трябва да импортираме библиотеките, които ще използваме по време на обучението.
## Import the library import tensorflow as tf import numpy as np
Ние създаваме данните. Това е масив от 10 000 реда и колони/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