tensorboard 參數可視化


tensorboard 可視化可以用一下幾個步驟實現:

1.在腳本代碼當中通過tensorborad()函數返回各個想要可視化的參數以及保存事件文件的目錄(在對模型進行優化之后)。

2.在運行完文件之后在后端進入腳本程序所在目錄,並輸入 tensorboard --logs = 'logs'。(這里logs指的是在1中指定的保存事件的目錄)

3.后端會返回查看可視化結果的地址,把地址復制進瀏覽器即可查看。

 

下面用一個簡單的實例展示一下具體過程。

代碼部分如下:

 1 import keras
 2 from keras.datasets import mnist
 3 from keras.models import Sequential
 4 from keras.layers import Dense, Dropout, Flatten
 5 from keras.layers import Conv2D, MaxPooling2D
 6 from keras import backend as K
 7 # 引入Tensorboard
 8 from keras.callbacks import TensorBoard
 9 from keras.utils import plot_model
10 
11 (x_train,y_train),(x_test,y_test) = mnist.load_data() # out: np.ndarray
12 
13 x_train = x_train.reshape(-1,28,28,1)
14 x_test = x_test.reshape(-1,28,28,1)
15 input_shape = (28,28,1)
16 
17 x_train = x_train/255
18 x_test = x_test/255
19 y_train = keras.utils.to_categorical(y_train,10)
20 y_test = keras.utils.to_categorical(y_test,10)
21 
22 model = Sequential()
23 model.add(Conv2D(filters = 32,kernel_size=(3,3),
24                  activation='relu',input_shape = input_shape,name='conv1'))
25 model.add(Conv2D(64,(3,3),activation='relu',name='conv2'))
26 model.add(MaxPooling2D(pool_size=(2,2),name='pool2'))
27 model.add(Dropout(0.25,name='dropout1'))
28 model.add(Flatten(name='flat1'))
29 model.add(Dense(128,activation='relu'))
30 model.add(Dropout(0.5,name='dropout2'))
31 model.add(Dense(10,activation='softmax',name='output'))
32 
33 plot_model(model,to_file='model.png')
34 
35 model.compile(loss = keras.losses.categorical_crossentropy,
36              optimizer = keras.optimizers.Adadelta(),
37              metrics=['accuracy'])
38 
39 #調出要可視化的內容
40 tb = TensorBoard(log_dir='./logs',  # log 目錄
41                  histogram_freq=1,  # 按照何等頻率(epoch)來計算直方圖,0為不計算
42                  batch_size=32,     # 用多大量的數據計算直方圖
43                  write_graph=True,  # 是否存儲網絡結構圖
44                  write_grads=False, # 是否可視化梯度直方圖
45                  write_images=False,# 是否可視化參數
46                  embeddings_freq=0, 
47                  embeddings_layer_names=None, 
48                  embeddings_metadata=None)
49 
50 #放進列表
51 callbacks = [tb]
52 
53 model.fit(x_train,y_train,batch_size=64,epochs=2
54           ,verbose=1,validation_data=(x_test,y_test),
55           callbacks=callbacks)

 

在運行完上述代碼之后在后端進入代碼所在目錄,並輸入tensorboard --logdir = 'logs'

通常會返回如下地址:

http://username.loacl:6006

表明可視化結果已經返回到本地主機:6006 , 所以直接在瀏覽器地址欄里輸入127.0.0.1:6006即可查看可視化結果

參數目錄

可以分別點開查看

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM