TensorBoard的使用
安装
conda安装:
conda install TensorBoard
代码部分使用TensorBoard
- 在项目中部分代码如下:
#想要保留中间过程——callback。传进函数,保存信息。
# 根据validation loss保存最优模型
save_best = callbacks.ModelCheckpoint('best_model.h5', monitor='val_loss', verbose=1,
save_best_only=True, mode='min')#训练网络希望每次训练过程中保存好的结果。存的文件名等信息。
# 如果训练持续没有validation loss的提升, 提前结束训练
early_stop = callbacks.EarlyStopping(monitor='val_loss', min_delta=0, patience=15,
verbose=0, mode='auto')#选择epoch=10000,到100时候就保持不变了,需要提前停止。看15步内没有变化。
tbCallBack = callbacks.TensorBoard(log_dir='./Graph',write_graph=True,write_image=True)
callbacks_list = [early_stop, save_best,tbCallBack ]# 三个callback放在列表里
history = model.fit_generator(batch_generator(X_train, y_train, batch_size, shape, training=True),
steps_per_epoch = samples_per_epoch,
validation_steps = nb_val_samples // batch_size,
validation_data = batch_generator(X_val, y_val, batch_size, shape,
training=False, monitor=False),
epochs=nb_epoch, verbose=1, callbacks=callbacks_list)# (batch_generator产生训练数据,
with open('./trainHistoryDict.p', 'wb') as file_pi:
pickle.dump(history.history, file_pi)#保存history的属性history
- 其中有关于TensorBoard的部分代码如下:
tbCallBack = callbacks.TensorBoard(log_dir='./Graph',write_graph=True,write_image=True)#创建一个文件夹Graph存
TensorBoard界面
- 终端输入:
tensorboard --logdir ./Graph --port=6005
PS:如何在利用MobaXterm建立ssh隧道,实现远程端口到本机端口的转发:请看我的博客https://blog.youkuaiyun.com/qq_37486501/article/details/123637404
如果成功,则显示网址(端口号)。打开浏览器,输入网址(端口号),则会打开Tensorboard界面,如下图所示
- TensorBoard界面中有:SCALARS和GRAPHS
其中SCALARS中loss图表:
浅色线:真实值
深色线:平均值
其中GRAPHS中显示的是:Model结构