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即可查看可视化结果
参数目录
可以分别点开查看