TShopping

 找回密碼
 註冊
搜索
查看: 659|回復: 0
打印 上一主題 下一主題

[教學] TF2.0 TensorBoard用法-Get started with TensorBoard

[複製鏈接]
跳轉到指定樓層
1#
發表於 2023-7-18 23:35:39 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
最近學習tensorflow2.0,但是發現自己連tensorboard都不會使(簡稱TB),那先按官方手冊來學TB吧!pycharm版本2020.1.1,安裝tensorflow對python版本有要求,使用anaconda可以對不同版本的python建立虛擬環境進行管理。非常好用!使用時可以在pycharm中字節指定python版本,省去很多環境配置的麻煩事!為了避免混淆Model.fit()以外的方法,另外進行練習。
首先是啟動TB,我用的是Pycharm並且安裝了anaconda,所以我可以直接在pycharm中直接啟動,不需要命令行啟動。
一準備工作
1 .新建項目,選擇安裝tensorflow2.0的python版本
2 .tf.keras.datasets.mnist中的load_data會直接下載數據;國內可能無法直接下載,可以百度其他方法下載到本地進行操作,並在load_data函數中指定路徑,具體可以查看load_data函數源碼;也可在放在windows本地用戶的.keras文件夾下的datasets中實現自動加載
3 .新建py文件,複製官方代碼,log_dir = "logs/fit/" 這種路徑是linux下的格式,如果是在Windows上需要改為原生字符串,或者改為:log_dir = "logs\\fit\\",最後的\\不可以去掉,雖然windows中/和\都可以識別,但是在代碼中拼接子路徑的時候使用的是\,所以這裡只能使用\,如下
  1. import tensorflow as tf
  2. import datetime

  3. #mnist包
  4. mnist = tf.keras.datasets.mnist

  5. #加载mnist训练和测试数据集
  6. (x_train, y_train),(x_test, y_test) = mnist.load_data()

  7. #将x从0-255转换为0-1之间的浮点数,即归一化
  8. x_train, x_test = x_train / 255.0, x_test / 255.0

  9. #虽然创建model时指定了参数,在之后还可以使用相应函数进行相应变更
  10. def create_model():
  11.   return tf.keras.models.Sequential([
  12.     tf.keras.layers.Flatten(input_shape=(28, 28)),#将二维转换为一维
  13.     tf.keras.layers.Dense(512, activation='relu'),#添加一个隐藏层为512层,激活函数使用线性激活relu
  14.     tf.keras.layers.Dropout(0.2),#训练时随机去掉20%的神经元,防止过拟合
  15.     tf.keras.layers.Dense(10, activation='softmax')#输出层10层,使用softmax进行激活
  16.   ])

  17. #创建model实例
  18. model = create_model()

  19. #编译模型
  20. model.compile(optimizer='adam', #优化使用adam
  21.               loss='sparse_categorical_crossentropy',#损失计算方法指定
  22.               metrics=['accuracy'])#使用正确率评估模型

  23. log_dir = "logs\\fit\\" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
  24. tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

  25. #训练模型
  26. model.fit(x=x_train,
  27.           y=y_train,
  28.           epochs=5,#指定训练轮数
  29.           validation_data=(x_test, y_test),#测试数据集
  30.           callbacks=[tensorboard_callback])#tensorboard回调,即生成可以进行可视化观察模型参数的文件
複製代碼

二啟動Tensorboard
1 .tensorboard --logdir logs/fit,(windows改為反斜杠)在非終端命令行執行時前面需要加%,但是在windows上我加等號雙引號都不好使,但是使用全路徑就沒問題,也沒有找到其他解決方法。
我的Pycharm專案路徑在D:\scrapytest
所以路徑下
  1. tensorboard --logdir=D:\scrapytest\logs\fit
複製代碼

2 .用瀏覽器訪問的本地6006端口

3 .大概了解下面板結構
上述面板概要:
  • Scalars面板描述了損失和隨著訓練輪數變化導致的評估變化,也可以用追踪訓練速度,學習率,和其他數量值
  • Graphs面板可以幫助你觀察你的模型,至此,通過Keras graph層數,你可以清晰了解你的模型是否正確構建
  • Distributions和Histograms面板顯示了張量隨時間的變化情況,對觀察到權重和偏置,驗證是否按預期變化都很有用。

當您記錄其他類型的數據時,會自動啟用其他TensorBoard 插件。例如,使用Keras TensorBoard 回調還可以記錄圖像和內嵌的東西。可以通過單擊右上角的“inactive”下拉列表來查看TensorBoard 中還有哪些其他插件

參考文章
https://zhuanlan.zhihu.com/p/200249625
https://www.tensorflow.org/tensorboard/get_started


 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-28 17:41 , Processed in 0.048241 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表