Tensorboard 訓練過程中的數據可視化

操作系統:Centos7.0
GPU:Quadro P5000
Tensorflow:1.10
CUDA Version: 10.1
Python3.6.2

使用Tensorboard的基本思想是:在Tensorflow程序裏輸出smmary到某個目錄,然後用啓動Tensorboard,指定剛纔的目錄。Tensorboard通過WEB服務形式提供Http訪問服務。通過任意瀏覽器訪問查看數據。

啓動Tensorboard:
python3 /usr/local/python3/lib/python3.6/site-packages/tensorboard/main.py --host 192.168.1.254 --logdir=/home/hda/src/logs

其中:“ /usr/local/python3/lib/python3.6/”是python3的安裝目錄,根據自己計算機替換
–host 192.168.1.254 IP地址根據自己計算機替換
–logdir=/home/hda/src/logs 這個目錄是Tensorflow程序中輸出summary的日誌目錄,根據自己實際代碼替換

如果在運行Tensorflow的計算機上直接像查看,–host 192.168.1.254 可以去掉。然後再同一臺電腦的瀏覽器裏訪問 http://localhost:6006 即可。

如果打算用同一局域網上的其它電腦查看數據,則必須加如 --host 參數,然後再其它電腦的瀏覽器裏訪問 http://[IP]:6006
如果是Centos則,默認情況下6006端口可能未開放,需要在防火牆裏增加6006端口:
firewall-cmd --permanent --add-port=6006/tcp
firewall-cmd --reload

我的工作環境是:GPU工作站IP地址 192.168.1.254
我筆記本和GPU工作站再同一個局域網段。
再筆記本上訪問效果如下:

在這裏插入圖片描述
Tensorflow例子關鍵代碼:

路徑定義,用於上面命令中  --logdir
SUMMARY_PATH = "./logs/"

定義要記錄的張量
tf.summary.scalar("loss", cost)

每個訓練迭代循環裏寫入
merged_summary = tf.summary.merge_all()
summary_writer1 = tf.summary.FileWriter(SUMMARY_PATH+"trainloss", tf.get_default_graph())
batch_cost, _, summary = session.run([cost, optimizer, merged_summary], feed)
summary_writer1.add_summary(summary, current_epoch)
summary_writer1.flush()

上述代碼只是一個完整程序中的部分關鍵代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章