【小白学习tensorflow教程】二、TensorBoard可视化模型训练
@Author:Runsen
本想在Torch和Keras更新TensorBoard,還是決定扔在了tensorflow。
TensorBoard是用于可視化圖形和其他工具以理解、調試和優化模型的界面。它是一種為機器學習工作流提供測量和可視化的工具。它有助于跟蹤損失和準確性、模型圖可視化、低維空間中的項目嵌入等指標。
在本篇博客中,將介紹 TensorBoard 的基礎知識,并了解如何可視化訓練模型中的一些基本信息。
下面,我們使用MNIST 數據的圖像分類模型 ,將首先導入所需的庫并加載數據集。模型的建立使用最簡單的順序模型。
import tensorflow as tf (X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data() from tensorflow.keras.utils import np_utils X_train=X_train.astype('float32') X_test=X_test.astype('float32')X_train/=255 X_test/=255X_train = X_train.reshape(X_train.shape[0], 28, 28, 1).astype('float32') X_test = X_test.reshape(X_test.shape[0], 28, 28, 1).astype('float32')y_train = np_utils.to_categorical(y_train, 10) y_test = np_utils.to_categorical(y_test, 10)model = Sequential() model.add(Convolution2D(32, 3, 3, input_shape=(28, 28, 1))) model.add(Activation('relu')) model.add(Dropout(0.25))model.add(Convolution2D(32, 3, 3)) model.add(Activation('relu'))model.add(Convolution2D(32, 3, 3)) model.add(Activation('relu')) model.add(Dropout(0.25))model.add(Flatten())model.add(Dense(128))model.add(Dense(128)) model.add(Activation('relu'))model.add(Dense(10)) model.add(Activation('softmax'))model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])keras API 訓練模型時,我們創建了一個 tensorboard 回調,以確保將指標記錄在指定的目錄中。這里保存到logs/fit
import datetime!rm -rf ./logs/ log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S") tensorboard_callback=tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1) model.fit(x=X_train, y=y_train,epochs=30,validation_data=(X_test, y_test), callbacks=[tensorboard_callback])如果使用colab,并不支持使用終端
對于 Windows 用戶:tensorboard --logdir= logs/fitg
Tensorboard 位于:http://localhost:6006
如果使用colab,需要加載TensorBoard擴展程序
%load_ext tensorboard %tensorboard --logdir logs/fit from tensorboard import notebook notebook.list notebook.display(port=6006, height=1000)如果訓練迭代5k到55k,TensorBoard會給出測試集的大概結果。
如果在torch中是使用TensorBoard,在PyTorch 1.8.1 版本的發布,需要使用 PyTorch Profiler,需要安裝torch_tb_profiler。torch_tb_profiler是TensorBoard的一個插件,可以可視化GPU的情況,具體參考官方教程
- https://pytorch.org/tutorials/intermediate/tensorboard_profiler_tutorial.html
- https://github.com/pytorch/kineto/tree/main/tb_plugin
總結
以上是生活随笔為你收集整理的【小白学习tensorflow教程】二、TensorBoard可视化模型训练的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【小白学习C++ 教程】十五、C++ 中
- 下一篇: numpy.ndarray size c