TShopping

標題: TF2.0 TensorBoard用法-Get started with TensorBoard [打印本頁]

作者: woff    時間: 2023-7-18 23:35
標題: TF2.0 TensorBoard用法-Get started with TensorBoard
最近學習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 .大概了解下面板結構
上述面板概要:
當您記錄其他類型的數據時,會自動啟用其他TensorBoard 插件。例如,使用Keras TensorBoard 回調還可以記錄圖像和內嵌的東西。可以通過單擊右上角的“inactive”下拉列表來查看TensorBoard 中還有哪些其他插件

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






歡迎光臨 TShopping (http://www.tshopping.com.tw/) Powered by Discuz! X3.2